- target: Javascript에서 문자열 true, false에 대해 boolean 타입으로 변경
- method:
String에서 Boolean으로 변환하는 방법을 알아보도록 하자. 별 생각없이 형 변환을 하다가는 오류를 범할 수 있다.
API response로 Boolean 타입의 객체가 오면 문제가 되지 않지만, String 타입의 'true', 'false'로 response를 받는 경우도 종종 있다. 간단하게 if 문 구성을 String 비교로 해도 되지만 Boolean의 의미가 퇴색되어 버린다고 할까 뭔가 부족한 느낌이다.
다른 방법으로 Boolean 함수를 생각할 수 있지만 이 또한 문제가 있다. 아래 코드로 간단하게 확인해보자.
Boolean(null); //false
Boolean(undefined); //false
Boolean(NaN); //false
Boolean(''); //false
Boolean(0); //false
Boolean(1); //true
Boolean('false'); //true
Boolean('true'); //true
Boolean('reference'); //true
문자열을 인자로 하는 예시를 보면 빈 문자열을 제외한 모든 문자열이 true로 반환된다. 이와 같은 결과를 검증하지 않고 사용한다면 오류로 빠지기 쉽다. Boolean이 아닌 값을 변환할 때 Boolean 함수를 사용해서는 안된다.
정상적인 결과를 얻기 위해서는 아래와 같이 하면 된다.
JSON.parse('true'); //true
JSON.parse('false'); //false
$.parseJSON('true'); //true
$.parseJSON('false'); //false
JSON 객체 또는 jQuery를 통해 원하는 결과를 얻을 수 있다. 단 유효하지 않은 문자열이 전달되면 예외가 발생된다. 예를 들어 대문자 'TRUE', 'FALSE'에 해당된다.
[Front end] JavaScript String to Boolean
String에서 Boolean으로 변환하는 방법을 알아보도록 하자. 별생각 없이 형 변환을 하다가는 오류를 범할 수 있다. API response로 Boolean 타입의 객체가 오면 문제가 되지 않지만 String 타입의 'true', 'fals
reference-m1.tistory.com
'Dev > Js.css.Jsp' 카테고리의 다른 글
[FreeMarker] FreeMarker 문법 (0) | 2022.09.27 |
---|---|
[web] 웹의 정적 리소스의 버전 명시를 통한 캐시 전략 (0) | 2022.09.21 |
[jQuery] $.cookie 관련 (0) | 2022.09.16 |
[javascript] 문자열 검색 (indexOf, search) (0) | 2022.09.15 |
[Lodash] pickBy() 객체 필터링 (0) | 2022.09.15 |