--- 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])
value
Boolean
.Значение, переданное первым параметром, при необходимости преобразуется в логическое значение. Если значение опущено или равно 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.length
length
логического значения равно 1.Boolean
.{{jsOverrides("Function", "Properties", "prototype")}}
Глобальный объект Boolean
не содержит собственных методов, однако, он наследует некоторые методы из цепочки прототипов:
Boolean
Все экземпляры объекта Boolean
наследуются от {{jsxref("Boolean.prototype")}}. Как и все конструкторы, объект прототипа предоставляет экземплярам свойства и методы.
Boolean
с начальным значением, равным false
var bNoParam = new Boolean(); var bZero = new Boolean(0); var bNull = new Boolean(null); var bEmptyString = new Boolean(''); var bfalse = new Boolean(false);
Boolean
с начальным значением, равным true
var 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')}} |
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatIE("6.0")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |