자바스크립트 String 을 Boolean 으로 비교하기

문자를 true, false 로 받아서 비교

자바스크립트가 비선언적인 언어이기 때문에
true, false 를 넣어도 문자인지 Boolean 인지 구분을 잘 못합니다

주의사항

1
2
3
4
5
// False 값을 기대 했지만 결과는 True
// isBoolean 에 false 라는 문자가 들어가고
// 문자가 있으니깐 True 반환
let isBoolean = 'false'
let isTrueBoolean = Boolean(isBoolean);
1
2
3
4
5
// False 값을 기대 했지만 결과는 True
// isBoolean 에 false 라는 문자가 들어가고
// 문자가 있으니깐 True 반환
let isBoolean = 'false'
let isTrueBoolean = !!isBoolean;

문자는 문자로 비교

1
2
3
4
//false 라는 문자가 true 라는 문자와 완전히 동일한지 비교해서
// False 리턴함
let isBoolean = 'false'
let isTrueBoolean = (isBoolean === 'true');

적용사례

아래는 Hexo 설정파일인데 text 값을 true, false 로 넣게 되어있는데
이게 결국에는 Boolean 타입이 아니라 문자 타입으로 생각하고
비교문 처리를 해줘서 정상 동작하게 했네요.

1
2
3
4
5
6
## color block
colorblock:
width: 15
height: 15
# whether you want to show hex code
text: false