전체보기 > Develop > JavaScript >
2021-10-26 23:20:22
이 글을 쓰게된 이유는 정적 페이지 생성기 개발을 하다가 페이지의 인덱스 관련해서 수정하다가 첫번째 글이 맨 위로 올라와버리는 문제가 생겨서 이를 확인하다가 자바스크립트의 false에 대해서 한번 더 점검해보고 쓰게된 글 입니다.
자바스크립트는 형 변환이 몹시 자유로운 언어입니다. 그래서 원하지 않던 결과가 나올 수 있기 때문에 주의하여야 합니다.
이러한 과정중에 어떠한 값이 boolean으로 자동 형변환이 이루어질때 다음과 같은 값들은 false로 변환되게 됩니다.
"false, 0, -0, 0n, "", null, undefined, NaN"
이러한 값들은 if, 논리연산자 등을 만나 boolean으로 처리될 필요가 있을 때. false로 취급하기 때문에 염두해두어야 하며, 이들을 falsy라고도 부릅니다.
거짓 같은 값(Falsy)를 제외한 모든 값은 true로 처리됩니다.
빈 객체, 배열, 무언가 든 문자열, Infinity 등의 값이 해당됩니다.
이걸 다시 정리해보게 된 이유는 원래 인덱스의 유무를 체크하려고 if(index)와 같이 썼는데. 여기에 0이 걸리는걸 생각하지 않고 있다가 문제가 발생하였습니다.