Daily Front_Minhhk

[JS] 조건문, 문자열 본문

Code개발일지

[JS] 조건문, 문자열

Minhhk 2022. 10. 24. 23:12

조건문

boolean 은 참과 거짓을 나눈다.

<aside> 👉 조건문은 어떠한 조건을 판별하는 기준

</aside>

조건문에는 반드시 비교연산자가 필요하다.

비교의 결과는 늘 boolean 즉 true 또는 false

대입연산자 '='

동등연산자 '==='

다르다는 ‘!==’

<aside> 🚫 == , != 사용권장X ,, 값만 비교하며 예외사항이 많아 에러확률 올라감

</aside>

JS의 조건문은 기본적으로

  • if
  • else if
  • else 사용
if(조건1) {
// 조건1이 통과할 경우
}
else if (조건2) {
// 조건1이 통과하지 않고
//조건2가 통과할 경우
}
else {
// 모든 조건이 통과하지 않는 경우
}

두가지 조건이 한번에 적용되는 경우?

논리연산자를 사용!

  • && : and 연산자
  • || : or 연산자
  • ! : not 연산자 (!isStudent 같이 씀)

 

Quiz //

⚠️ !undefined

 

💡 true → undefined를 false로 취급( falsy )

 

⚠️ !'HELLO'

💡 false → 'HELLO'를 true로 취급( truthy )

 

⚠️ 기억해야할 falsy 6가지! → if문에서 false로서 if구문 실행X

 

false, null, undefined, 0, NaN, ‘ ’

if (false)
if (null)
if (undefined)
if (0)
if (NaN) → NOT A NUMBER 숫자키워드
if (' ')
console.log('hello' === 'world') // false
console.log('hello' !== 'world') // true

let str = '100'
let num = 100
console.log(str === num) false

console.log(true && true) true
console.log(true && false) false
console.log(false && true) false
console.log(false && false) false

let isStudent = true;
let isFemale = true;
console.log(isStudent && isFemale) true
console.log(isStudent && !isFemale) false
console.log(!isStudent && isFemale) false
console.log(!isStudent && !isFemale) false

console.log(true || true) true
console.log(true || false) true
console.log(false || true) true
console.log(false || false) false

문자열

문자열의 특징 : index로 접근은 가능하지만 값을 바꿀수는 없음.

read only // 할당할때만 값이 바뀐다.

var str = '코드'
consol.log(str[0]);

str[0] = '카';  // 변경 시?
consol.log(str); // 에러 -> 안바뀜

문자열에 + 로 연결시킬수 있다.

var str1 ='코드';
var str2 ='스테이츠';
var str3 = '1';
consol.log(str1 + str2); // '코드스테이츠'
consol.log(str3 + 7); // '17'
consol.log('1' + true) // '1true'

concat → str2, str3 모두 더하는 메소드

str.concat(str2, str3 ... ) ; 의 형태로 사용가능 // 그냥 + 연산자 쓰자

length PROPERTY

문자열의 전체 길이를 반환

var str = '하이'
consol.log(**str.length**); // 2

메소드

str.indexOf(searchValue)

→ 문자열을 찾을때 쓰임.

arguments : 찾고자 하는 문자열

return value : 처음으로 일치하는 index 표현, 찾고자 하는 문자열이 없으면 -1

두번 연속으로 등장하면 처음 나오는 인덱스 기준으로 출력

lastIndexOf **** : 문자열 뒤에서부터 찾는다.

실무에서는 includes 메소드를 쓸수가 있다 → true || false 로 return

'Blue Whale'.indexOf('Blue'); // 0
'Blue Whale'.indexOf('blue'); // -1
'Blue Whale'.indexOf('Whale'); // 5
'Blue Whale Whale'.indexOf('Whale'); // 5
'canal'.lastIndexOf('a') // 3
'일어나라 아침해 떳다'.includes('아침해'); // true 출력

str.split(seperator)

arguments : 분리 기준이 될 문자열

return value : 분리된 문자열이 포함된 배열

→ 문자열을 분리할때 쓰임.

csv형식 (comma seperate value) // 111,222,333,444

줄바꿈을 \n 으로 표현함! →

var str = "안녕 반가워";
consol.log(str.split(' ')); // ['안녕' , '반가워' ] 출력 -> 배열로 나옴
// csv 형식에서 많이 사용
consol.log(str.split('\\n')); // 줄바꿈으로 다 나눔
// 이걸 나중에 나눠서 배열로 사용가능!
let lines = str.split('\\n'); // lines 에 칸 나눔 배열 저장
lines[0].split(',') // lines의 첫번째 줄을 ,로 나눔

str.substring(start, end)

argumnets : 시작 index , 끝 index

return value: 시작과 끝 index 사이의 문자열

var str = 'abcdefghij';
consol.log(str.substring(0,3)); //'abc'
consol.log(str.substring(3,0)); //'abc'
consol.log(str.substring(1,4)); //'bcd'
consol.log(str.substring(-1,4)); //'abcd, 음수는 0으로 취급!!
consol.log(str.substring(0,20)); //'abcdefghij' ,index 범위 밖이면 마지막index로.

str.toLowerCase() // str.toUpperCase()

(모든 STRING 메소드는 IMMUTABLE 원본이 변하지않음) → 변경원하면 새로 다시 대입하기

argument : 없음

return value: 대, 소문자로 변환된 문자열

console.log('ABCDE'.toLowerCase()); // 'abcde'
console.log('abcde'.toUpperCase()); // 'ABCDE'

.length

문자열의 길이를 리턴합니다.

let str = 'code states';

console.log(str.length)

indexOf()

문자열 내에 지정된 요소가 위치하고 있는 첫 번째 인덱스를 리턴합니다. 지정된 요소가 문자열 내에 존재하지 않을 경우 -1을 리턴합니다.

let str = 'code states'

console.log(str.indexOf('s'))
console.log(str.indexOf('i'))

split()

문자열을 지정한 구분자를 이용하여 여러 개의 문자열로 나눈 후 배열의 형태로 리턴합니다.

let str = '가, 나, 다, 라, 마, 바';

let word = str.split(',');
console.log(word);
  • ['가', '나', '다', '라', '마', '바']
let str = '아주 피곤한 날이다';

let word = str.split(' ');
console.log(word);
  • ['아주', '피곤한', '날이다.']
let alphabet = '가나다라마';

let char = alphabet.split('');
console.log(char)
  • ['가', '나', '다', '라', '마']

toUpperCase()

소문자를 대문자로 변환합니다.

let alphabet = 'abcdefghijklmnopqrstuvwxyz';

console.log(alphabet.toUpperCase());
  • ABCDEFGHIJKLMNOPQRSTUVWXYZ

toLowerCase()

대문자를 소문자로 리턴합니다.

let alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

console.log(alphabet.toLowerCase())
  • abcdefghijklmnopqrstuvwxyz

 

Number 자료형이 Number() 함수, parseInt() 함수를 사용해서 자료형을 변환할 수 있는 것처럼 Boolean 자료형도 Boolean 함수를 이용해서 다른 자료형을 Boolean 자료형으로 변환이 가능하다.

//임의의 값을 입력받아 falsy 값인지 여부를 리턴
function isFalsy(anything) {
	return !Boolean(anything)
}

let booleanVar1 = Boolean("String");
let booleanVar2 = Boolean(null);
let booleanVar3 = Boolean(undefined);
let booleanVar4 = Boolean(4);
let booleanVar5 = Boolean(true);