'if'문
알다시피 괄호 안 조건을 평가하고 결과가 true이면 코드 블록이 실행.
불린 타입으로의 변환
괄호 안의 표현식을 평가하고 그 결과를 불린 값으로 변환
- 숫자 ㅇ, 빈 문자열 "", null, undefined, NaN은 변환 시 모두 false가 되고 이들을 falsy값이라고 부름
- 이 외에는 변환시 true로 변환하여 truthy 값이라고 한다.
'else'절
if문엔 else절을 붙일 수 있습니다. else 뒤에 이어지는 코드 블록은 조건이 거짓일 때 실행
예시:
let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');
if (year == 2015) {
alert( '정답입니다!' );
} else {
alert( '오답입니다!' ); // 2015 이외의 값을 입력한 경우
}
'else if'로 복수 조건 처리
let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');
if (year < 2015) {
alert( '숫자를 좀 더 올려보세요.' );
} else if (year > 2015) { //이 부분 처럼
alert( '숫자를 좀 더 내려보세요.' );
} else {
alert( '정답입니다!' );
}
조건부 연산자 '?' (삼항연산자
조건에 따라 다른 값을 변수에 할당해줘야할 때가 있다
if 문과 else로 이루어진 조건문을 만들어줘도 되지만 더 간단하게
let result = condition ? value1 : value2;
이런 식으로 condition 의 값이 truthy 값이면 value1 아니면
value2가 되도록 할 수도 있다
부적절한 '?'
다중으로 삼항연산자 '?'를 쓸 수도 있지만
이런 식으로 많이 사용하면 안좋다고 함 (리액트에선 잘만 쓰던데..)
예시:
let company = prompt('자바스크립트는 어떤 회사가 만들었을까요?', '');
(company == 'Netscape') ?
alert('정답입니다!') : alert('오답입니다!');
if문을 쓸 때보다 짧아서 좋고 매력적일 수는 있지만 가독성이 떨어짐
대신 if문을 섞어 쓴다면 코드를 읽을 때의 우리 눈은 수직으로 움직이기에
수평으로 길게 늘어진 코드보다 여러 줄로 나뉘어 작성된 코드블록이 더 읽기 쉽다고한다
let company = prompt('자바스크립트는 어떤 회사가 만들었을까요?', '');
if (company == 'Netscape') {
alert('정답입니다!');
} else {
alert('오답입니다!');
}
'JavaScript > Basics' 카테고리의 다른 글
[JavaScript] nullish coalescing opertor (null 병합 연산자) (0) | 2022.03.10 |
---|---|
[JavaScript] 논리 연산자 (0) | 2022.03.10 |
[JavaScript] 비교 연산자 (0) | 2022.03.09 |
[JavaScript] 기본 연산자와 수학 (0) | 2022.03.09 |
[JavaScript] 형 변환 (0) | 2022.03.09 |