불린

자바스크립트 불린(boolean) 자료형에는 참(true)과 거짓(false)라는 두 개의 값밖에 없다.

보통 불린 값은 비교의 결과에 해당하며 자바스크립트의 제어 구조에 사용된다.

불린형 변환

불린 값이 숫자 연산에 사용되면 참은 숫자 1로, 거짓은 숫자 0으로 변환된다. 다음 예제를 보자.

var boolean1 = true;            
var boolean2 = false;   
console.log(0 + boolean1);  // 1
console.log(0 + boolean2);  // 0

불린 값이 문자열 연산에 사용되면 참은 "true"라는 문자열로, 거짓은 "false"라는 문자열로 변환된다. 다음 예제를 보자.

var boolean1 = true;            
var boolean2 = false;   
console.log("" + boolean1); // "true"
console.log("" + boolean2); // "false"

불린 값이 예상되는 곳에 숫자가 사용되면 해당 숫자가 거짓으로 변환되는 0이나 NaN이 아닌 이상 참으로 변환된다. 다음 예제를 보자.

var number1 = 1;            
var number2 = -1;
var number3 = 0;
var number4 = NaN;
console.log(!!number1);     // true
console.log(!!number2);     // true
console.log(!!number3);     // false
console.log(!!number4);     // false

불린 값이 예상되는 곳에 문자열이 사용되면 거짓으로 변환되는 빈 문자열인 경우를 제외하고 해당 문자열은 참으로 변환된다. 다음 예제를 보자.

var string1 = "abc";            
var string2 = "false";          
var string3 = "";           
console.log(!!string1);     // true
console.log(!!string2);     // true
console.log(!!string3);     // false

nullundefined 값은 거짓으로 변환되며 널이 아닌 객체나 배열, 함수는 참으로 변환된다. 다음 예제를 보자.

var var1 = null;
var var2 = undefined;
var var3 = [];      // 빈 배열
var var4 = {};      // 빈 객체
console.log(!!var1);    // false
console.log(!!var2);    // false
console.log(!!var3);    // true
console.log(!!var4);    // true

Boolean() 생성자를 이용한 변환

불린 값으로 변환하는 명시적인 방법은 Boolean() 생성자를 호출하는 것이다.

console.log(Boolean(1));    // true
console.log(Boolean(-1));   // true
console.log(Boolean(0));    // false
console.log(Boolean(NaN));  // false
console.log(Boolean("abc"));    // true
console.log(Boolean("false"));  // true
console.log(Boolean(""));   // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined));// false
console.log(Boolean([]));   // true
console.log(Boolean({}));   // true

관련 수업

← 이전다음 →