본문 바로가기

카테고리 없음

자바스크립트 Boolean 형변환

불리언 타입

불리언 타입은 자바스크립트에서 true와 false로 사용된다. 하지만

if(undefined) console.log("undefined")

이와 같이 불리언 타입이 요구되는 부분에서 불리언이 아닌 값이 들어갈 경우 자바스크립트 엔진이 참으로 평가되는 값과 거짓으로 평가되는 값으로 구분하여 암묵적으로 타입 변환을 해준다.

두가지 타입의 값을 모두 외우고 다닐 필요는 없다. 필요할 때마다 콘솔에 찍어보면 그만일 것이기 때문이다. 또한 거짓으로 판단되는 값은 한정되어 있다

거짓으로 판단되는 값

  • false
  • undefined
  • null
  • 0, -0
  • NaN
  • ''(빈 문자열)

이 값들을 제외한 다른 값들은 모두 True 로 판단된다.

if(!'') console.log("출력")
if(!undefined) console.log("출력")
if(!null) console.log("출력")
if(!0) console.log("출력")

위 조건문들은 모두 참이기 때문에 출력되는 것을 알 수 있다. 직접 undefined나 null 같은 값을 집어넣지 않더라도 객체의 유무를 확인하거나 find 함수같이 무언가를 찾을 때 반환받는 결과 값을 따로 처리 없이 조건식에 집어 넣는 등으로 활용한다면 코드를 간결하게 할 수 있다.

명시적 형변환

묵시적으로 뿐만 아니라 명시적으로 불리언 값으로 형변환도 가능하다. 이때는 Boolean() 을 사용한다.

var var1 = Boolean("String"); // true
var var1 = Boolean(undefined); // false
var var1 = Boolean(null); // false
var var1 = Boolean(3); // true