aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/boolean/index.html
blob: 221625ff80bc9e6eb3b18d7fe757baa88cc9caf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
---
title: Boolean
slug: Web/JavaScript/Reference/Global_Objects/Boolean
tags:
  - Boolean
  - JavaScript
  - Конструктор
translation_of: Web/JavaScript/Reference/Global_Objects/Boolean
---
<div>{{JSRef}}</div>

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

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox">new Boolean([<var>value</var>])</pre>

<h3 id="Параметри">Параметри</h3>

<dl>
 <dt><code>value</code></dt>
 <dd>Необов'язковий. Початкове значення об'єкту <code>Boolean</code>.</dd>
</dl>

<h2 id="Опис">Опис</h2>

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

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

<p>Будь-який об'єкт, значення якого не {{jsxref("undefined")}} чи {{jsxref("null")}}, в тому числі об'єкт <code>Boolean</code> із значенням  <code>false</code>, прирівнюється до <code>true</code> при передачі до умовного виразу. Для прикладу, умова в наступному {{jsxref("Statements/if...else", "if")}} виразі прирівнюється до <code>true</code>:</p>

<pre class="brush: js">var x = new Boolean(false);
if (x) {
  // цей код виконуватиметься
}
</pre>

<p>Ця поведінка не властива примітивам <code>Boolean</code>. Для прикладу, умова в наступному {{jsxref("Statements/if...else", "if")}} виразі прирівнюється до <code>false</code>:</p>

<pre class="brush: js">var x = false;
if (x) {
  // цей код не виконуватиметься
}
</pre>

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

<pre class="brush: js">var x = Boolean(expression);     // рекомендовано
var x = new Boolean(expression); // не варто використовувати
</pre>

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

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

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

<h2 id="Властивості">Властивості</h2>

<dl>
 <dt><code>Boolean.length</code></dt>
 <dd>
 <p>Поле довжини із значенням 1.</p>
 </dd>
 <dt>{{jsxref("Boolean.prototype")}}</dt>
 <dd>Представляє прототип конструктора <code>Boolean</code>.</dd>
</dl>

<h2 id="Методи">Методи</h2>

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

<h2 id="Екземпляри_Boolean">Екземпляри <code>Boolean</code></h2>

<p>Всі екземпляри<code>Boolean</code> успадковуються від {{jsxref("Boolean.prototype")}}. Як і у всіх конструкторів, об'єкт прототипу визначає успадковані властивості та методи екземплярів.</p>

<h3 id="Властивості_2">Властивості</h3>

<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Properties')}}</div>

<h3 id="Методи_2">Методи</h3>

<div>{{page('/uk/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Методи')}}</div>

<h2 id="Приклади">Приклади</h2>

<h3 id="Створення_об'єктів_Boolean_з_початковим_значенням_false">Створення об'єктів <code>Boolean</code> з початковим значенням <code>false</code></h3>

<pre class="brush: js">var bNoParam = Boolean();
var bZero = Boolean(0);
var bNull = Boolean(null);
var bEmptyString = Boolean('');
var bfalse = Boolean(false);
</pre>

<h3 id="Створення_об'єктів_Boolean_з_початковим_значенням_true">Створення об'єктів <code>Boolean</code> з початковим значенням <code>true</code></h3>

<pre class="brush: js">var btrue = Boolean(true);
var btrueString = Boolean('true');
var bfalseString = Boolean('false');
var bSuLin = Boolean('Su Lin');
var bArrayProto = Boolean([]);
var bObjProto = Boolean({});
</pre>

<h2 id="Специфікації">Специфікації</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Специфікація</th>
   <th scope="col">Статус</th>
   <th scope="col">Коментар</th>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Початкове визначення. Впроваджено в JavaScript 1.0.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.6', 'Boolean')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-boolean-objects', 'Boolean')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-boolean-objects', 'Boolean')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Сумісність_з_веб_переглядачами">Сумісність з веб переглядачами</h2>

<div>
<div class="hidden">Таблиця сумісності на цій сторінці генерується з структурованих даних. Якщо ви хочете внести свій внесок у дані, будь ласка, завітайте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> та надсилайте свої запити на зміни.</div>

<p>{{Compat("javascript.builtins.Boolean")}}</p>
</div>

<h2 id="Дивіться_також">Дивіться також</h2>

<ul>
 <li>{{jsxref("Boolean.prototype")}}</li>
 <li>{{Glossary("Boolean")}}</li>
 <li><a href="https://uk.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B8%D0%B9_%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Логічний (булевий) тип даних (Wikipedia)</a></li>
</ul>