Skip to content

String과 Boolean을 비교할 수 있다는 착각

수정하기
문서 생성 2023-10-23 23:31:58 최근 수정 2023-10-23 23:32:08

JavaScript에서 어떤 변수가 "false"라는 값을 가질 때 Boolean으로 변경한다 해도 그 값은 true다.

조금만 더 생각하면 이해가 되는데 처음에 "왜 이래?"하고 당황스러웠다.
문자열 값이 "존재"하기 때문이다. "true"도 마찬가지. 그래서 내가 생각하는 진짜 true인지 확인하려면 다음과 같이 비교해야 한다.

const b = 'false'
console.log(Boolean(b)) // true
console.log(b === 'false') // true
console.log(b === 'true') // false

LINKS TO THIS PAGE