Boolean

Об'єкт Boolean - це об'єкт-обгортка для значень булевого типу.

Синтаксис

new Boolean([value])

Параметри

value
Необов'язковий. Початкове значення об'єкту Boolean.

Опис

Значення, передане як перший параметр, перетворюється в логічне значення, якщо це необхідно. Якщо значення опущено або являється 0, -0, null, false, NaN, undefined, або порожнім рядком (""), об'єкт міститиме значення false. Всі інші значення, включаючи будь-який об'єкт або рядок "false", створюють об'єкт із  значенням true.

Не плутайте примітивні Boolean значення true та false з true та false значеннями об'єкту Boolean.

Будь-який об'єкт, значення якого не undefined чи null, в тому числі об'єкт Boolean із значенням  false, прирівнюється до true при передачі до умовного виразу. Для прикладу, умова в наступному if виразі прирівнюється до true:

var x = new Boolean(false);
if (x) {
  // цей код виконуватиметься
}

Ця поведінка не властива примітивам Boolean. Для прикладу, умова в наступному if виразі прирівнюється до false:

var x = false;
if (x) {
  // цей код не виконуватиметься
}

Не використовуйте об'єкт Boolean для перетворення не булевого значення в булеве. Замість цього використайте Boolean як функцію, щоб досягнути цього:

var x = Boolean(expression);     // рекомендовано
var x = new Boolean(expression); // не варто використовувати

Якщо ви вказали будь-який об'єкт, включаючи об'єкт Boolean із значенням false в якості значення нового Boolean об'єкту, цей об'єкт матиме значення true.

var myFalse = new Boolean(false);   // значення false
var g = Boolean(myFalse);       // значення true
var myString = new String('Hello'); // строковий об'єкт
var s = Boolean(myString);      // значення true

Не використовуйте об'єкт Boolean замість примітиву Boolean.

Властивості

Boolean.length

Поле довжини із значенням 1.

Boolean.prototype
Представляє прототип конструктора Boolean.

Методи

Хоча глобальний Boolean об'єкт не містить жодних власних методів, він успадковує деякі методи через ланцюжок прототипів.

Екземпляри Boolean

Всі екземпляриBoolean успадковуються від Boolean.prototype. Як і у всіх конструкторів, об'єкт прототипу визначає успадковані властивості та методи екземплярів.

Властивості

Методи

Boolean.prototype.toSource()
Повертає строку, що містить сирець об'єкту Boolean; використавши її ви можете створити еквівалентний об'єкт. Перевизначає метод Object.prototype.toSource().
Boolean.prototype.toString()
Повертає строку "true" чи "false" залежно від значення об'єкту. Перевизначає метод Object.prototype.toString().
Boolean.prototype.valueOf()
Повертає примітив значення об'єкту Boolean. Перевизначає метод Object.prototype.valueOf().

Приклади

Створення об'єктів Boolean з початковим значенням false

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

Створення об'єктів Boolean з початковим значенням true

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

Специфікації

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Початкове визначення. Впроваджено в 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 (ECMA-262)
The definition of 'Boolean' in that specification.
Living Standard  

Сумісність з веб переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
BooleanChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100
Boolean() constructorChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 4Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100
toSource
Non-standard
Chrome No support NoEdge No support NoFirefox No support 1 — 74
Notes
No support 1 — 74
Notes
Notes Starting in Firefox 74, toSource() is no longer available for use by web content. It is still allowed for internal and privileged code.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android 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 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 4Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100
valueOfChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 4Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
See implementation notes.
See implementation notes.

Дивіться також