[TIL] falsy, truthy란?
Truthy / Falsy
자바스크립트에서 내가 할당한 변수에 값이 없을 때나 호출한 함수의 리턴 값이 없을 때에 대한 처리를 해줘야 할 때가 있습니다. 변수에 어떤 값이 할당되기를 원하지만 실제로 할당되지 않은 경우에 대한 예외 처리를 하기 위해, 간단하게 조건문을 사용할 수 있습니다.
const empty = () => {
console.log('아무것도 없다!')
}
let variable = empty();
if(variable) {
console.log(variable);
} else {
console.log('리턴된 값이 없습니다!')
}
종종 위와 같은 코드를 작성하지만 잠시 생각해보면 이상하다는 것을 알 수 있습니다.
우리는 자바스크립트의 조건문의 조건으로 true나 false값을 가지는 boolean 값만 줄 수 있다는 것을 알고 있습니다. 하지만 위의 코드에서 variable 변수가 가지는 값은 undefined
입니다. 조건문에 boolean 값이 아닌 값을 가지는 변수를 넣었는데도 정상적으로 동작한다는 것을 알 수 있습니다. 이를 이해하기 위해서는 자바스크립트의 Truthy / Falsy 개념에 대해 알 필요가 있습니다.
Falsy
falsy한 값은 자바스크립트에서 6개입니다.
- 0
- NaN
- false
- null
- undefined
- ''
이 Falsy 값들이 자바스크립트에서 조건문이나 반복문에 들어가면, 자바스크립트가 내부적으로 이 값들을 false boolean 값으로 형 변환 해줍니다.
Truthy
Truthy는 Falsy에 해당하는 6개가 아닌 모든 값입니다. 위에 해당하는 6개의 값이 아니라면 자바스크립트는 Truthy로 판단하여 내부적으로 true boolean 값으로 형 변환 해줍니다.
Reference
Author And Source
이 문제에 관하여([TIL] falsy, truthy란?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@shallwedance/TIL-falsy-truthy란저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)