자바스크립트는 boolean 자료형이 아닌 자료형을 boolean 값으로 변환한다. 조건문, 반복문 등 boolean이 필요한 상황에서 boolean 은 아니지만 그 값에 해당하는 불리언으로 변환하여 실행한다.
truthy
는 참과 같은 값이며 falsy
는 거짓과 같은 값이다.
우선 falsy를 먼저 살펴보자. falsy는 자바스크립트에서 거짓으로 인식 되는 값이다. 자바스크립트에서는 6개의 falsy
값이 존재한다.
이 6개의 값이 불리언 값이 필요한 부분에 들어가게 되면 (ex. 조건문이나 반복문) 자바스크립트는 위 값을 false로 변환하여 실행한다.
truthy는 falsy의 반대로 자바스크립트에서 참으로 인식 되는 값이다. falsy만 알고 있으면 truthy는 쉬운데 6가지의 falsy 값을 제외한 모든 값이다.
불리언이 요구되는 부분에 0/false/NaN/undefined/null/'' 가 아니면 자바스크립트는 값을 true로 변환하여 실행한다.
여기서 알아두어야할 점은 불리언 값을 요구하는 부분의 결과 값이 truthy/falsy 일 경우 true/false로 변환하는 것이다.
let tool;
if (tool === false) {
console.log("This is not tool!")
} else {
console.log("This is tool!")
}
위 코드에선 tool이 undefined 이며 undefined === false는 결과 값이 false로 else 에 해당하는 string을 출력한다.