Dev/Js.css.Jsp

[javascript] Javascript String to Boolean

pu3vig 2022. 9. 16. 14:42
728x90
  • 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

 

728x90