티스토리 뷰
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' 카테고리의 다른 글
[Front end] JavaScript 얕은 복사 & 깊은 복사 (0) | 2019.08.31 |
---|---|
[Front end] React validateDOMNestring(...) <div> cannot appear as a descendant of <p> (0) | 2019.08.29 |
[Front end] Chart.js Line Chart 가상선 (hover vertical line) (0) | 2019.08.04 |
[Front end] React 정리 (0) | 2019.07.28 |
[Front end] React #14 웹 서비스 만들기 CSS for Movie (0) | 2019.07.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- Eclipse
- 리눅스 명령어
- Java
- 정렬 알고리즘
- 리액트
- Linux 명령어
- Maven
- 오라클
- Tomcat
- React
- 프로그래머
- 리액트 16
- SQL
- 제주도 여행
- 소프트웨어공학
- 이직
- 회고
- Collection
- 경력관리
- 성능분석
- 프로그래머스
- javascript
- 자바스크립트
- 자바
- effective java
- spring
- 오라클 내장 함수
- sort algorithm
- 개발환경
- 제주도 3박4일 일정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함