Boolean 객체는 불리언 값을 감싸고 있는 객체입니다.

구문

new Boolean([value])

매개변수

value Optional
Boolean 객체의 초기값.

설명

첫 번재 매개변수는 필요하다면 불리언 값으로 변환됩니다. 값이 없거나 0, -0, null, false, NaN, undefined, 빈 문자열 ("")이라면 객체의 초기값은 false가 됩니다. 문자열 "false"를 포함한 그 외 모든 다른 값은 초기값을 true로 설정합니다.

Boolean 객체의 truefalse 값을 원시 Booleantrue, false와 혼동해선 안됩니다.

값이 undefined, null이 아닌 모든 객체는 조건문에서 true로 계산됩니다. 이는 값이 falseBoolean 객체도 포함합니다. 즉 아래 if 문의 조건은 참입니다.

var x = new Boolean(false);
if (x) {
  // 이 코드는 실행됨
}

그러나 원시 Boolean 값에는 적용되지 않습니다. 따라서 아래 if 문의 조건은 거짓입니다.

var x = false;
if (x) {
  // 이 코드는 실행되지 않음
}

불리언이 아닌 값을 변환할 때 Boolean 객체를 사용해선 안됩니다. 대신 Boolean 함수를 사용하세요.

var x = Boolean(expression);     // 추천
var x = new Boolean(expression); // 사용하지 말것

값이 falseBoolean 객체를 포함한 어떠한 객체를 Boolean 객체의 초기값으로 넘겨주더라도 새로운 Boolean 객체는 true를 가집니다.

var myFalse = new Boolean(false);   // 초기값 거짓
var g = Boolean(myFalse);           // 초기값 참
var myString = new String('Hello'); // 문자열 객체
var s = Boolean(myString);          // 초기값 참

Boolean 원시 값의 자리에서 Boolean 객체를 이용해선 안됩니다.

속성

Boolean.length
값이 1인 길이 속성.
Boolean.prototype
Boolean 생성자의 프로토타입.

메서드

전역 Boolean 객체는 자신만의 메서드를 가지고 있지 않지만, 프로토타입 체인을 따라 상속받는 메서드가 일부 존재합니다.

Boolean 인스턴스

모든 Boolean 인스턴스는 Boolean.prototype을 상속받습니다. 다른 생성자와 마찬가지로 프로토타입 객체가 인스턴스의 상속 속성과 메서드를 결정합니다.

속성

Boolean.prototype.constructor
인스턴스의 프로토타입을 생성한 함수를 반환합니다. 기본값은 Boolean 함수입니다.

메소드

Boolean.prototype.toSource()
Boolean 객체의 소스를 포함한 문자열을 반환합니다. 반환 문자열을 사용해 동일한 객체를 생성할 수 있습니다. Object.prototype.toSource() 메서드를 재정의합니다.
Boolean.prototype.toString()
객체의 값에 따라 문자열 "true" 또는 "false"를 반환합니다. Object.prototype.toString() 메서드를 재정의합니다.
Boolean.prototype.valueOf()
Boolean 객체의 원시 값을 반환합니다. Object.prototype.valueOf() 메서드를 재정의합니다.

예제

false 값으로 초기화한 Boolean 객체 만들기

var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);

true 값으로 초기화한 Boolean 객체 만들기

var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});

명세

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Boolean' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Boolean' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Boolean' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
prototypeChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
toSource
Non-standard
Chrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
toStringChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
valueOfChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

같이 보기

문서 태그 및 공헌자

이 페이지의 공헌자: urty5656, wbamberg, teoli, Gilchris
최종 변경자: urty5656,