if (조건1) {
return // 조건1이 통과할 경우 실행
} else if (조건2) {
return // 조건 1이 통과하지 않고 조건 2가 통과될 경우 실행
} else {
return // 모든 조건이 통과하지 않는 경우 실행
}
switch (조건) {
case value1 : // 조건과 case가 일치하면 실행문 A 실행
return 실행문 A;
break; // swtich { } 코드 블록 탈출
case value2 :
return 실행문 B;
break;
case value3 :
return 실행문 C;
break;
default : // 일치하는 case가 없는 경우 실행
return 실행문 D;
break;
}
'1' == 1 // true
'1' === 1 // false
1 == true // true
1 === true // false
'' == 0 // true
'' === 0 // false
undefined == null // true
undefined === null // false
[0] == 0 // true
[0] === 0 // false
true && true // true
true && false // false
false && true // false
false && false // false
'java' && 'script' // 'script'
// 좌항에서 우항으로 평가가 진행되기 때문에 두번째 피연산자 까지 평가해야 하므로 두번째 피연산자인 'script'를 반환
true || true // true
true || false // true
false || true // true
false || false // false
'java' || 'script' // 'script'
// 첫번째 피연산자 'java'는 true이기 때문에 'java'를 반환
AND 연산자와 OR 연산자는 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환하는데, 이를 단축 평가라고 한다.
단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것을 말한다.
!true // false
!'123' // false
!123 // false
!undefined, false, null, NaN, '', 0 // true