Об'єкт 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 |
Сумісність з веб переглядачами
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Boolean | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
Boolean() constructor | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
toSource | Chrome No support No | Edge No support No | Firefox
No support
1 — 74
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 4 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No | nodejs No support No |
toString | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
valueOf | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 4 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs 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.