
신입 퍼블리셔로 근무한 지 두 달 쯤 됐을 땐가..? 선임님께서 false로 반환되는 값들이 뭐가 있는지 알고 있느냐며 읊어보라고 하셨는데 ..
👩 "undefined.. .. null .. false.... 뭐드라" 했다가 공부하라고 하시며 씨익 웃고 가셨었다.
앗 넵! 해놓고 찾아보긴 했지만 또 가물가물해진 상태.. 모르면 알 때까지 반복해봅시다요
false (Boolean) console.log(false == false); // true
0 (숫자 0) console.log(0 == false); // true
-0 (음의 0) console.log(-0 == false); // true
"" (빈 문자열) console.log("" == false); // true
null console.log(null == false); // true
null은 값이 없음을 '의도적'으로 나타낸다. 개발자가 의 도 적으로 해당 변수에는 값이 없음을 할당한 것!!!!!!!!!!!!undefined console.log(undefined == false); // true
undefined는 변수가 초기화되지 않았을 때의 기본값NaN (Not a Number) console.log(NaN == false); // true
NaN: 위 값들은 조건문에서 자동으로 false 취급되기 때문에 이 값을 유용하게 활용할수도, 혹은 주의해야 할 수도 있다. 유용하게 사용되는 일반적인 예시로는 사용자가 입력한 값이 비어있는지 확인하는 경우가 있다.
function checkInput(value) {
if (!value) {
console.log("입력이 필요합니다.");
} else {
console.log("입력된 값: ", value);
}
}
checkInput(""); // "입력이 필요합니다." (빈 문자열)
checkInput(null); // "입력이 필요합니다." (null)
checkInput(undefined); // "입력이 필요합니다." (undefined)
checkInput(0); // "입력이 필요합니다." (숫자 0은 falsy)
checkInput(false); // "입력이 필요합니다." (false는 falsy)
checkInput("Hello"); // "입력된 값: Hello" (문자열이 있음)
이 외에도 배열이나 객체에서 유효한 값만 필터링한다거나, 로그인 상태를 체크하는 데 사용하기도 한다!
아주 재밌어.. 재미는 있는데 막상 그 상황에서 이걸 떠올릴 수 있을까?.. 하는 생각은 든다 😯 3개월 후 이 글을 보면 또 기분이 다르려나?