diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
commit | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch) | |
tree | a9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/web/javascript/reference/operators/оператори_присвоєння | |
parent | 074785cea106179cb3305637055ab0a009ca74f2 (diff) | |
download | translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2 translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip |
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/operators/оператори_присвоєння')
-rw-r--r-- | files/uk/web/javascript/reference/operators/оператори_присвоєння/index.html | 418 |
1 files changed, 418 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/operators/оператори_присвоєння/index.html b/files/uk/web/javascript/reference/operators/оператори_присвоєння/index.html new file mode 100644 index 0000000000..d69f9055d1 --- /dev/null +++ b/files/uk/web/javascript/reference/operators/оператори_присвоєння/index.html @@ -0,0 +1,418 @@ +--- +title: Оператори присвоєння +slug: Web/JavaScript/Reference/Operators/Оператори_присвоєння +tags: + - JavaScript + - Оператор +translation_of: Web/JavaScript/Reference/Operators#Assignment_operators +--- +<div>{{jsSidebar("Operators")}}</div> + +<p><strong>Оператор присвоєння</strong> присвоює своєму лівому операнду значення, на підставі значення правого операнду.</p> + +<p>{{EmbedInteractiveExample("pages/js/expressions-assignment.html")}}</p> + +<div class="hidden"> +<p>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.</p> +</div> + +<h2 id="Огляд">Огляд</h2> + +<p>Базовим оператором присвоєння є оператор дорівнює (<code>=</code>), який присвоює значення свого правого операнда лівому операнду. Таким чином, <code>x = y</code> присвоює змінній <code>x</code> значення змінної <code>y</code>. Інші оператори присвоєння у своїй більшості є скороченнями для стандарних операцій, як це вказано у наступній таблиці з визначеннями та прикладами.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th>Назва</th> + <th>Оператор скороченого запису</th> + <th>Значення</th> + </tr> + <tr> + <td><a href="#Присвоєння">Присвоєння</a></td> + <td><code>x = y</code></td> + <td><code>x = y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_додаванням">Присвоєння з додаванням</a></td> + <td><code>x += y</code></td> + <td><code>x = x + y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_відніманням">Присвоєння з відніманням</a></td> + <td><code>x -= y</code></td> + <td><code>x = x - y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_множенням">Присвоєння з множенням</a></td> + <td><code>x *= y</code></td> + <td><code>x = x * y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_діленням">Присвоєння з діленням</a></td> + <td><code>x /= y</code></td> + <td><code>x = x / y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_остачі">Присвоєння остачі</a></td> + <td><code>x %= y</code></td> + <td><code>x = x % y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_піднесенням_до_степеня">Присвоєння з піднесенням до степеня</a></td> + <td><code>x **= y</code></td> + <td><code>x = x ** y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_лівим_зсувом">Присвоєння з лівим зсувом</a></td> + <td><code>x <<= y</code></td> + <td><code>x = x << y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_правим_зсувом">Присвоєння з правим зсувом</a></td> + <td><code>x >>= y</code></td> + <td><code>x = x >> y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_беззнаковим_правим_зсувом">Присвоєння з беззнаковим правим зсувом</a></td> + <td><code>x >>>= y</code></td> + <td><code>x = x >>> y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_побітовим_І">Присвоєння з побітовим І</a></td> + <td><code>x &= y</code></td> + <td><code>x = x & y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_виключним_побітовим_АБО">Присвоєння з виключним побітовим АБО</a></td> + <td><code>x ^= y</code></td> + <td><code>x = x ^ y</code></td> + </tr> + <tr> + <td><a href="#Присвоєння_з_побітовим_АБО">Присвоєння з побітовим АБО</a></td> + <td><code>x |= y</code></td> + <td><code>x = x | y</code></td> + </tr> + </tbody> +</table> + +<h2 id="Присвоєння"><a name="Assignment">Присвоєння</a></h2> + +<p>Простий оператор присвоєння використовується для присвоєння змінній значення. Оператор присвоєння обчислює значення, що присвоюється. Можна використовувати ланцюжок присвоюваннь, щоб присвоїти одне значення декільком змінним. Дивіться приклад нижче.</p> + +<h4 id="Синтаксис">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор:</strong> x = y +</pre> + +<h4 id="Приклади">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// x = 5 +// y = 10 +// z = 25 + +x = y // x дорівнює 10 +x = y = z // x, y та z усі дорівнюють 25 +</pre> + +<h3 id="Присвоєння_з_додаванням"><a name="Addition_assignment">Присвоєння з додаванням</a></h3> + +<p>Оператор присвоєння з додаванням <strong>додає</strong> значення правого операнду до змінної (лівого перанду) та записує у неї отриманий результат. Типи двох операндів визначають поведінку оператора. Таким чином, його результатом може стати або додавання або конкатенація. Для більш детального огляду дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор додавання", "#Addition", 1)}}.</p> + +<h4 id="Синтаксис_2">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор:</strong> x += y +<strong>Значення:</strong> x = x + y +</pre> + +<h4 id="Приклади_2">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// foo = 'foo' +// bar = 5 +// baz = true + + +// число + число -> додавання +bar += 2 // 7 + +// булеве значення + число -> додавання +baz += 1 // 2 + +// булеве значення + булеве значення -> додавання +baz += false // 1 + +// число + рядок -> конкатенація +bar += 'foo' // "5foo" + +// рядок + булеве значення -> конкатенація +foo += false // "foofalse" + +// рядок + рядок -> конкатенація +foo += 'bar' // "foobar" +</pre> + +<h3 id="Присвоєння_з_відніманням"><a name="Subtraction_assignment">Присвоєння з відніманням</a></h3> + +<p>Оператор присвоєння з відніманням <strong>віднімає</strong> значення правого операнду від змінної (лівого перанду) та записує у неї отриманий результат. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор віднімання", "#Subtraction", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_3">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x -= y +<strong>Значення:</strong> x = x - y +</pre> + +<h4 id="Приклади_3">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// bar = 5 + +bar -= 2 // 3 +bar -= 'foo' // NaN +</pre> + +<h3 id="Присвоєння_з_множенням"><a name="Multiplication_assignment">Присвоєння з множенням</a></h3> + +<p>Оператор присвоєння з множенням <strong>помножує</strong> змінну (лівий операнд) на значення правого операнду та записує отриманий результат у змінну. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор множення", "#Multiplication", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_4">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор:</strong> x *= y +<strong>Значення:</strong> x = x * y +</pre> + +<h4 id="Приклади_4">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// bar = 5 + +bar *= 2 // 10 +bar *= 'foo' // NaN +</pre> + +<h3 id="Присвоєння_з_діленням"><a name="Division_assignment">Присвоєння з діленням</a></h3> + +<p>Оператор присвоєння з діленням <strong>ділить</strong> змінну (лівий операнд) на значення правого операнду та записує отриманий результат у змінну. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор ділення", "#Division", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_5">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x /= y +<strong>Значення:</strong> x = x / y +</pre> + +<h4 id="Приклади_5">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// bar = 5 + +bar /= 2 // 2.5 +bar /= 'foo' // NaN +bar /= 0 // Infinity +</pre> + +<h3 id="Присвоєння_остачі"><a name="Remainder_assignment">Присвоєння остачі</a></h3> + +<p>Оператор присвоєння остачі <strong>ділить</strong> змінну на значення правого операнду та присвоює <strong>остачу</strong> змінній. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор остачі", "#Remainder", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_6">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор:</strong> x %= y +<strong>Значення:</strong> x = x % y +</pre> + +<h4 id="Приклади_6">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// bar = 5 + +bar %= 2 // 1 +bar %= 'foo' // NaN +bar %= 0 // NaN +</pre> + +<h3 id="Присвоєння_з_піднесенням_до_степеня"><a id="Exponentiation_assignment" name="Exponentiation_assignment">Присвоєння з піднесенням до степеня</a></h3> + +<p>Оператор присвоєння з піднесенням до степеня обчислює результат піднесення першого операнду до <strong>показника степеня</strong> другого операнду. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор піднесення до степеня", "#Exponentiation", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_7">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x **= y +<strong>Значення:</strong> x = x ** y +</pre> + +<h4 id="Приклади_7">Приклади</h4> + +<pre class="brush: js">// Розглянемо такі змінні: +// bar = 5 + +bar **= 2 // 25 +bar **= 'foo' // NaN</pre> + +<h3 id="Присвоєння_з_лівим_зсувом"><a name="Left_shift_assignment">Присвоєння з лівим зсувом</a></h3> + +<p>Оператор присвоєння з лівим зсувом виконує зсув першого операнду на вказану кількість бітів ліворуч та присвоює результат у змінну. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор лівого зсуву", "#Left_shift", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_8">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x <<= y +<strong>Значення:</strong> x = x << y +</pre> + +<h4 id="Приклади_8">Приклади</h4> + +<pre class="brush: js">var bar = 5; // (00000000000000000000000000000101) +bar <<= 2; // 20 (00000000000000000000000000010100) +</pre> + +<h3 id="Присвоєння_з_правим_зсувом"><a name="Right_shift_assignment">Присвоєння з правим зсувом</a></h3> + +<p>Оператор присвоєння з правим зсувом виконує зсув першого операнду на вказану кількість бітів праворуч та присвоює результат у змінну. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор правого зсуву", "#Right_shift", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_9">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x >>= y +<strong>Значення:</strong> x = x >> y +</pre> + +<h4 id="Приклади_9">Приклади</h4> + +<pre class="brush: js">var bar = 5; // (00000000000000000000000000000101) +bar >>= 2; // 1 (00000000000000000000000000000001) + +var bar -5; // (-00000000000000000000000000000101) +bar >>= 2; // -2 (-00000000000000000000000000000010) +</pre> + +<h3 id="Присвоєння_з_беззнаковим_правим_зсувом"><a name="Unsigned_right_shift_assignment">Присвоєння з беззнаковим правим зсувом</a></h3> + +<p>Оператор присвоєння з беззнаковим правим зсувом виконує зсув першого операнду на вказану кількість бітів праворуч та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", " оператор беззнакового правого зсуву", "#Unsigned_right_shift", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_10">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x >>>= y +<strong>Значення:</strong> x = x >>> y +</pre> + +<h4 id="Приклади_10">Приклади</h4> + +<pre class="brush: js">var bar = 5; // (00000000000000000000000000000101) +bar >>>= 2; // 1 (00000000000000000000000000000001) + +var bar = -5; // (-00000000000000000000000000000101) +bar >>>= 2; // 1073741822 (00111111111111111111111111111110)</pre> + +<h3 id="Присвоєння_з_побітовим_І"><a name="Bitwise_AND_assignment">Присвоєння з побітовим І</a></h3> + +<p>Оператор присвоєння з побітовим І використовує двійкове представлення обох операндів, виконує над ними операцію побітового І та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор побітового І", "#Bitwise_AND", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_11">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор:</strong> x &= y +<strong>Значення:</strong> x = x & y +</pre> + +<h4 id="Приклади_11">Приклади</h4> + +<pre class="brush: js">var bar = 5; +// 5: 00000000000000000000000000000101 +// 2: 00000000000000000000000000000010 +bar &= 2; // 0 +</pre> + +<h3 id="Присвоєння_з_виключним_побітовим_АБО"><a name="Bitwise_XOR_assignment">Присвоєння з виключним побітовим АБО</a></h3> + +<p>Оператор присвоєння з виключним побітовим АБО використовує двійкове представлення обох операндів, виконує над ними операцію виключного побітового АБО (XOR) та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор виключного побітового АБО", "#Bitwise_XOR", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_12">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x ^= y +<strong>Значення:</strong> x = x ^ y +</pre> + +<h4 id="Приклади_12">Приклади</h4> + +<pre class="brush: js">var bar = 5; +bar ^= 2; // 7 +// 5: 00000000000000000000000000000101 +// 2: 00000000000000000000000000000010 +// ----------------------------------- +// 7: 00000000000000000000000000000111 +</pre> + +<h3 id="Присвоєння_з_побітовим_АБО"><a name="Bitwise_OR_assignment">Присвоєння з побітовим АБО</a></h3> + +<p>Оператор присвоєння з побітовим АБО використовує двійкове представлення обох операндів, виконує над ними операцію побітового АБО та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор побітового АБО", "#Bitwise_OR", 1)}} для більш детального огляду.</p> + +<h4 id="Синтаксис_13">Синтаксис</h4> + +<pre class="syntaxbox"><strong>Оператор: </strong> x |= y +<strong>Значення:</strong> x = x | y +</pre> + +<h4 id="Приклади_13">Приклади</h4> + +<pre class="brush: js">var bar = 5; +bar |= 2; // 7 +// 5: 00000000000000000000000000000101 +// 2: 00000000000000000000000000000010 +// ----------------------------------- +// 7: 00000000000000000000000000000111 +</pre> + +<h2 id="Приклади_14">Приклади</h2> + +<h3 id="Лівий_операнд_з_іншим_оператором_присвоєння">Лівий операнд з іншим оператором присвоєння</h3> + +<p>У незвичних ситуаціях оператор присвоєння (наприклад, <code> x += y</code>) не є ідентичним виразу, який він означає (в даному випадку <code>x = x + y</code>). Коли лівий операнд оператора присвоєння сам містить оператор присвоєння, лівий операнд обчислюється лише один раз. Наприклад:</p> + +<pre class="brush: js">a[i++] += 5 // i обчислюється лише один раз +a[i++] = a[i++] + 5 // i обчислюється двічі +</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('ESDraft', '#sec-assignment-operators', 'Assignment operators')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES2015', '#sec-assignment-operators', 'Assignment operators')}}</td> + <td>{{Spec2('ES2015')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-11.13', 'Assignment operators')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES1', '#sec-11.13', 'Assignment operators')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Початкове визначення.</td> + </tr> + </tbody> +</table> + +<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> + +<div class="hidden"> +<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> +</div> + +<p>{{Compat("javascript.operators.assignment")}}</p> + +<div id="compat-mobile"></div> + +<h2 id="Див._також">Див. також</h2> + +<ul> + <li><a href="/uk/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators">Арифметичні оператори</a></li> +</ul> |