--- title: Boolean slug: Web/JavaScript/Reference/Global_Objects/Boolean tags: - Boolean - Constructor - JavaScript - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Boolean ---
Boolean 객체는 불리언 값을 감싸고 있는 객체입니다.
첫 번재 매개변수로서 전달한 값은 필요한 경우 불리언 값으로 변환됩니다. 값이 없거나 0, -0, {{jsxref("null")}}, false, {{jsxref("NaN")}}, {{jsxref("undefined")}}, 빈 문자열 ("")이라면 객체의 초기값은 false가 됩니다. 문자열 "false"를 포함한 그 외 모든 다른 값은 초기값을 true로 설정합니다.
Boolean 객체의 true와 false 값을 원시 Boolean 값 true, false와 혼동해선 안됩니다.
값이 {{jsxref("undefined")}}, {{jsxref("null")}}이 아닌 모든 객체는 조건문에서 true로 계산됩니다. 이는 값이 false인 Boolean 객체도 포함합니다. 즉 아래 {{jsxref("Statements/if...else", "if")}} 문의 조건은 참입니다.
var x = new Boolean(false);
if (x) {
// 이 코드는 실행됨
}
그러나 원시 Boolean 값에는 적용되지 않습니다. 따라서 아래 {{jsxref("Statements/if...else", "if")}} 문의 조건은 거짓입니다.
var x = false;
if (x) {
// 이 코드는 실행되지 않음
}
불리언이 아닌 값을 변환할 때 Boolean 객체를 사용해선 안됩니다. 대신 Boolean 함수를 사용하세요.
var x = Boolean(expression); // 추천 var x = new Boolean(expression); // 사용하지 말것
값이 false인 Boolean 객체를 포함한 어떠한 객체를 Boolean 객체의 초기값으로 넘겨주더라도 새로운 Boolean 객체는 true를 가집니다.
var myFalse = new Boolean(false); // 초기값 거짓
var g = Boolean(myFalse); // 초기값 참
var myString = new String('Hello'); // 문자열 객체
var s = Boolean(myString); // 초기값 참
Boolean 원시 값의 자리에서 Boolean 객체를 이용해선 안됩니다.
Boolean 객체를 생성합니다."true" 또는 "false"를 반환합니다. {{jsxref("Object.prototype.toString()")}} 메서드를 재정의합니다.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 |
|---|
| {{SpecName('ESDraft', '#sec-boolean-objects', 'Boolean')}} |
{{Compat("javascript.builtins.Boolean")}}