--- title: Boolean slug: Web/JavaScript/Reference/Global_Objects/Boolean tags: - Boolean - JavaScript - Конструктор translation_of: Web/JavaScript/Reference/Global_Objects/Boolean ---
Об'єкт Boolean - це об'єкт-обгортка для значень булевого типу.
new Boolean([value])
valueBoolean.Значення, передане як перший параметр, перетворюється в логічне значення, якщо це необхідно. Якщо значення опущено або являється 0, -0, {{jsxref("null")}}, false, {{jsxref("NaN")}}, {{jsxref("undefined")}}, або порожнім рядком (""), об'єкт міститиме значення false. Всі інші значення, включаючи будь-який об'єкт або рядок "false", створюють об'єкт із значенням true.
Не плутайте примітивні Boolean значення true та false з true та false значеннями об'єкту Boolean.
Будь-який об'єкт, значення якого не {{jsxref("undefined")}} чи {{jsxref("null")}}, в тому числі об'єкт Boolean із значенням false, прирівнюється до true при передачі до умовного виразу. Для прикладу, умова в наступному {{jsxref("Statements/if...else", "if")}} виразі прирівнюється до true:
var x = new Boolean(false);
if (x) {
// цей код виконуватиметься
}
Ця поведінка не властива примітивам Boolean. Для прикладу, умова в наступному {{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 об'єкту, цей об'єкт матиме значення 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.Хоча глобальний Boolean об'єкт не містить жодних власних методів, він успадковує деякі методи через ланцюжок прототипів.
BooleanВсі екземпляриBoolean успадковуються від {{jsxref("Boolean.prototype")}}. Як і у всіх конструкторів, об'єкт прототипу визначає успадковані властивості та методи екземплярів.
Boolean з початковим значенням falsevar bNoParam = Boolean();
var bZero = Boolean(0);
var bNull = Boolean(null);
var bEmptyString = Boolean('');
var bfalse = Boolean(false);
Boolean з початковим значенням truevar btrue = Boolean(true);
var btrueString = Boolean('true');
var bfalseString = Boolean('false');
var bSuLin = Boolean('Su Lin');
var bArrayProto = Boolean([]);
var bObjProto = Boolean({});
| Специфікація | Статус | Коментар |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Початкове визначення. Впроваджено в JavaScript 1.0. |
| {{SpecName('ES5.1', '#sec-15.6', 'Boolean')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-boolean-objects', 'Boolean')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-boolean-objects', 'Boolean')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Boolean")}}