Truthy & Falsy
- Trutyh(참 같은 값)는
boolean에서true로 평가되는 값 - Falsy(거짓 같은 값)는
boolean에서false로 평가되는 값
Falsy값 이외의 모든 값들은 모두 true로 평가되는 Trutyh값이기 때문에, Falsy을 알아두자!
Truthy
true{}(빈 객체)[](빈 배열)function () {}(빈 함수)
Falsy
falseundefinednull0-0NaN''(빈 문자열)
위에 명시된 값들을 제외한 모든 값들은 Truthy이다.
단락회로 평가
논리곱(&&), 논리합(||) 연산자는 왼쪽부터 오른쪽으로 평가를 진행하는데,
표현식을 평가하는 도중에 평가결과가 확정된 경우 나머지 평가 과정을 생략하는 것이다.
이를 '단락회로 평가'라고 하며, 피연산자의 타입을 변환하지 않고 그대로 반환한다.
표현식 | 결과 |
truthy && anything | anything |
falsy && anything | falsy |
truthy || anything | truthy |
falsy || anything | anything |
'Cat' && 'Dog' // 'Dog'
'Cat' || 'Dog' // 'Cat'