Об'єкт 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.constructor
- Returns the function that created an instance's prototype. This is the
Boolean
function by default.
Методи
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 Latest Draft (ECMA-262) The definition of 'Boolean' in that specification. |
Draft |
Сумісність з веб переглядачами
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Boolean | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
prototype | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
toSource | Chrome No support No | Edge No support No | Firefox Full support 1 | 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 Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
valueOf | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 4 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.