--- title: Boolean slug: Web/JavaScript/Reference/Global_Objects/Boolean tags: - Boolean - Constructor - JavaScript - Reference - Référence(2) translation_of: Web/JavaScript/Reference/Global_Objects/Boolean ---
Объект Boolean является объектом-обёрткой над примитивом логического типа.
new Boolean([value])
valueBoolean.Значение, переданное первым параметром, при необходимости преобразуется в логическое значение. Если значение опущено или равно 0, -0, {{jsxref("Global_Objects/null", "null")}}, false, {{jsxref("Global_Objects/NaN", "NaN")}}, {{jsxref("Global_Objects/undefined", "undefined")}} или пустой строке (""), объект имеет начальное значение, равное false. Все остальные значения, включая любые объекты или строку "false", создают объект с начальным значением, равным true.
Не путайте примитивные значения true и false логического типа со значениями true и false объекта Boolean.
Любой объект, чьё значение не является равным {{jsxref("Global_Objects/undefined", "undefined")}} или {{jsxref("Global_Objects/null", "null")}}, включая сам объект Boolean со значением, равным false, вычисляется в true при передаче его в условное выражение. Например, условие в следующей инструкции {{jsxref("Statements/if...else", "if")}} вычисляется в true:
var x = new Boolean(false);
if (x) {
// этот код будет выполнен
}
Это поведение не применяется к примитивам логического типа. Например, условие в следующей инструкции {{jsxref("Statements/if...else", "if")}} вычисляется в false :
var x = false;
if (x) {
// этот код не будет выполнен
}
Не используйте объект Boolean для преобразования нелогического значения в логическое значение. Вместо этого используйте Boolean в качестве функции:
var x = Boolean(expression); // предпочтительно var x = new Boolean(expression); // не используйте
Если вы определите любой объект, включая объект Boolean со значением false, в качестве начального значения объекта Boolean, новый объект Boolean будет иметь значение true.
var myFalse = new Boolean(false); // начальное значение равно false
var g = new Boolean(myFalse); // начальное значение равно true
var myString = new String('Привет'); // строковый объект
var s = new Boolean(myString); // начальное значение равно true
Не используйте объект Boolean вместо примитива логического типа.
Boolean.lengthlength логического значения равно 1.Boolean.{{jsOverrides("Function", "Properties", "prototype")}}
Глобальный объект Boolean не содержит собственных методов, однако, он наследует некоторые методы из цепочки прототипов:
BooleanВсе экземпляры объекта Boolean наследуются от {{jsxref("Boolean.prototype")}}. Как и все конструкторы, объект прототипа предоставляет экземплярам свойства и методы.
Boolean с начальным значением, равным falsevar bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);
Boolean с начальным значением, равным truevar btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Су Лин');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});
| Спецификация | Статус | Комментарии |
|---|---|---|
| ECMAScript 1-е издание. | Стандарт | Изначальное определение. Реализована в JavaScript 1.0. |
| {{SpecName('ES5.1', '#sec-15.6', 'Boolean')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-boolean-objects', 'Boolean')}} | {{Spec2('ES6')}} |
{{Compat}}