aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/operators/logical_and
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/operators/logical_and')
-rw-r--r--files/uk/web/javascript/reference/operators/logical_and/index.html142
1 files changed, 0 insertions, 142 deletions
diff --git a/files/uk/web/javascript/reference/operators/logical_and/index.html b/files/uk/web/javascript/reference/operators/logical_and/index.html
deleted file mode 100644
index c8d1ccaae6..0000000000
--- a/files/uk/web/javascript/reference/operators/logical_and/index.html
+++ /dev/null
@@ -1,142 +0,0 @@
----
-title: Логічне І (&&)
-slug: Web/JavaScript/Reference/Operators/Logical_AND
-tags:
- - JavaScript
- - Довідка
- - Логічний оператор
- - Оператор
-translation_of: Web/JavaScript/Reference/Operators/Logical_AND
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>Логічний оператор І (<code>&amp;&amp;</code>) (логічна кон'юнкція) для набору операндів дорівнює true тільки тоді, коли усі його операнди дорівнюють true. Він зазвичай використовується з {{jsxref("Boolean","булевими")}} (логічними) значеннями. У цьому випадку він повертає булеве значення. Однак, оператор <code>&amp;&amp;</code> насправді повертає значення одного з наданих операндів, а отже, якщо цей оператор застосовується не з булевими значеннями, він поверне не булеве значення.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-logical-and.html", "shorter")}}</div>
-
-<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox notranslate"><em>вираз1</em> &amp;&amp; <em>вираз2</em>
-</pre>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Якщо <code>вираз<strong>1</strong></code> може бути приведений до <code>true</code>, вертає <code>вираз<strong>2</strong></code>; інакше, вертає <code>вираз<strong>1</strong></code>.</p>
-
-<p>Якщо значення може бути приведене до <code>true</code>, воно є так званим {{Glossary("truthy", "правдивим")}} значенням. Якщо значення може бути приведене до <code>false</code>, воно називається {{Glossary("falsy", "хибним")}}.</p>
-
-<p>Прикладами виразів, які можуть бути приведені до false, є:</p>
-
-<ul>
- <li><code>null</code>;</li>
- <li><code>NaN</code>;</li>
- <li><code>0</code>;</li>
- <li>порожній рядок (<code>""</code> або <code>''</code>, або <code>``</code>);</li>
- <li><code>undefined</code>.</li>
-</ul>
-
-<p>Хоча оператори <code>&amp;&amp;</code> та <code>||</code> можуть використовуватись з операндами не булевого типу, вони все одно можуть вважатися булевими операторами, оскільки значення, які вони повертають, завжди можуть бути приведені до <a href="/uk/docs/Web/JavaScript/Data_structures#%D0%A2%D0%B8%D0%BF_boolean">булевих примітивів</a>. Щоб явно перетворити повернені значення (або, взагалі, будь-який вираз) до відповідного булевого значення, скористайтесь подвійним <a href="/uk/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Logical_NOT">оператором НЕ</a> або конструктором {{jsxref("Global_Objects/Boolean/Boolean", "Boolean")}}.</p>
-
-<h3 id="Обчислення_з_коротким_замиканням">Обчислення з коротким замиканням</h3>
-
-<p>Логічні вирази І обчислюються зліва направо, вони перевіряються на можливе "коротке замикання" під час обчислення за наступним правилом:</p>
-
-<p><code>(якийсь хибний вираз) &amp;&amp; <em>expr</em></code> обчислюється як хибний вираз;</p>
-
-<p>Коротке замикання означає, що частина <code><em>expr</em></code> у прикладі <strong>не обчислюється</strong>, тому будь-які побічні ефекти від цього не відбудуться (наприклад, якщо <code><em>expr</em></code> є викликом функції, виклику не станеться). Це відбувається тому, що значення оператора вже визначене після обчислення першого операнду. Дивіться приклад:</p>
-
-<pre class="brush: js notranslate">function A(){ console.log('викликано A'); return false; }
-function B(){ console.log('викликано B'); return true; }
-
-console.log( A() &amp;&amp; B() );
-// виводить "викликано A" в результаті виклику функції,
-// потім виводить false (що є результатом виклику оператора)
-</pre>
-
-<h3 id="Пріоритет_операторів">Пріоритет операторів</h3>
-
-<p>Наступні вирази можуть виглядати еквівалентними, але це не так, оскільки оператор <code>&amp;&amp;</code> виконується перед оператором <code>||</code> (дивіться <a href="/uk/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">Пріоритет операторів</a>).</p>
-
-<pre class="brush: js notranslate">true || false &amp;&amp; false // вертає true, оскільки &amp;&amp; виконується першим
-(true || false) &amp;&amp; false // вертає false, бо пріоритет операторів не застосовується</pre>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Використання_І">Використання І</h3>
-
-<p>Наступний код наводить приклади оператора <code>&amp;&amp;</code> (логічне І).</p>
-
-<pre class="brush: js notranslate">a1 = true &amp;&amp; true // t &amp;&amp; t вертає true
-a2 = true &amp;&amp; false // t &amp;&amp; f вертає false
-a3 = false &amp;&amp; true // f &amp;&amp; t вертає false
-a4 = false &amp;&amp; (3 == 4) // f &amp;&amp; f вертає false
-a5 = 'Кіт' &amp;&amp; 'Пес' // t &amp;&amp; t вертає "Пес"
-a6 = false &amp;&amp; 'Кіт' // f &amp;&amp; t вертає false
-a7 = 'Кіт' &amp;&amp; false // t &amp;&amp; f вертає false
-a8 = '' &amp;&amp; false // f &amp;&amp; f вертає ""
-a9 = false &amp;&amp; '' // f &amp;&amp; f вертає false</pre>
-
-<h3 id="Правила_перетворення_для_булевих_значень">Правила перетворення для булевих значень</h3>
-
-<h4 id="Перетворення_І_на_АБО">Перетворення І на АБО</h4>
-
-<p>Наступна операція з <strong>булевими значеннями</strong>:</p>
-
-<pre class="brush: js notranslate">bCondition1 &amp;&amp; bCondition2</pre>
-
-<p>завжди дорівнює:</p>
-
-<pre class="brush: js notranslate">!(!bCondition1 || !bCondition2)</pre>
-
-<h4 id="Перетворення_АБО_на_І">Перетворення АБО на І</h4>
-
-<p>Наступна операція з <strong>булевими значеннями</strong>:</p>
-
-<pre class="brush: js notranslate">bCondition1 || bCondition2</pre>
-
-<p>завжди дорівнює:</p>
-
-<pre class="brush: js notranslate">!(!bCondition1 &amp;&amp; !bCondition2)</pre>
-
-<h3 id="Прибирання_вкладених_дужок">Прибирання вкладених дужок</h3>
-
-<p>Оскільки логічні вирази обчислюються зліва направо, завжди можна прибрати дужки зі складного виразу, дотримуючись певних правил.</p>
-
-<p>Наступна складена операція з <strong>булевими значеннями</strong>:</p>
-
-<pre class="brush: js notranslate">bCondition1 || (bCondition2 &amp;&amp; bCondition3)</pre>
-
-<p>завжди дорівнює:</p>
-
-<pre class="brush: js notranslate">bCondition1 || bCondition2 &amp;&amp; bCondition3</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Специфікація</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#prod-LogicalANDExpression', 'Logical AND expression')}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.operators.logical_and")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Boolean")}}</li>
- <li>{{Glossary("Truthy")}}</li>
- <li>{{Glossary("Falsy")}}</li>
-</ul>