From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../index.html" | 418 +++++++++++++++++++++ 1 file changed, 418 insertions(+) create mode 100644 "files/uk/web/javascript/reference/operators/\320\276\320\277\320\265\321\200\320\260\321\202\320\276\321\200\320\270_\320\277\321\200\320\270\321\201\320\262\320\276\321\224\320\275\320\275\321\217/index.html" (limited to 'files/uk/web/javascript/reference/operators/оператори_присвоєння') diff --git "a/files/uk/web/javascript/reference/operators/\320\276\320\277\320\265\321\200\320\260\321\202\320\276\321\200\320\270_\320\277\321\200\320\270\321\201\320\262\320\276\321\224\320\275\320\275\321\217/index.html" "b/files/uk/web/javascript/reference/operators/\320\276\320\277\320\265\321\200\320\260\321\202\320\276\321\200\320\270_\320\277\321\200\320\270\321\201\320\262\320\276\321\224\320\275\320\275\321\217/index.html" new file mode 100644 index 0000000000..d69f9055d1 --- /dev/null +++ "b/files/uk/web/javascript/reference/operators/\320\276\320\277\320\265\321\200\320\260\321\202\320\276\321\200\320\270_\320\277\321\200\320\270\321\201\320\262\320\276\321\224\320\275\320\275\321\217/index.html" @@ -0,0 +1,418 @@ +--- +title: Оператори присвоєння +slug: Web/JavaScript/Reference/Operators/Оператори_присвоєння +tags: + - JavaScript + - Оператор +translation_of: Web/JavaScript/Reference/Operators#Assignment_operators +--- +
{{jsSidebar("Operators")}}
+ +

Оператор присвоєння присвоює своєму лівому операнду значення, на підставі значення правого операнду.

+ +

{{EmbedInteractiveExample("pages/js/expressions-assignment.html")}}

+ + + +

Огляд

+ +

Базовим оператором присвоєння є оператор дорівнює (=), який присвоює значення свого правого операнда лівому операнду. Таким чином, x = y присвоює змінній x значення змінної y. Інші оператори присвоєння у своїй більшості є скороченнями для стандарних операцій, як це вказано у наступній таблиці з визначеннями та прикладами.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
НазваОператор скороченого записуЗначення
Присвоєнняx = yx = y
Присвоєння з додаваннямx += yx = x + y
Присвоєння з відніманнямx -= yx = x - y
Присвоєння з множеннямx *= yx = x * y
Присвоєння з діленнямx /= yx = x / y
Присвоєння остачіx %= yx = x % y
Присвоєння з піднесенням до степеняx **= yx = x ** y
Присвоєння з лівим зсувомx <<= yx = x << y
Присвоєння з правим зсувомx >>= yx = x >> y
Присвоєння з беззнаковим правим зсувомx >>>= yx = x >>> y
Присвоєння з побітовим Іx &= yx = x & y
Присвоєння з виключним побітовим АБОx ^= yx = x ^ y
Присвоєння з побітовим АБОx |= yx = x | y
+ +

Присвоєння

+ +

Простий оператор присвоєння використовується для присвоєння змінній значення. Оператор присвоєння обчислює значення, що присвоюється. Можна використовувати ланцюжок присвоюваннь, щоб присвоїти одне значення декільком змінним. Дивіться приклад нижче.

+ +

Синтаксис

+ +
Оператор: x = y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  x = 5
+//  y = 10
+//  z = 25
+
+x = y     // x дорівнює 10
+x = y = z // x, y та z усі дорівнюють 25
+
+ +

Присвоєння з додаванням

+ +

Оператор присвоєння з додаванням додає значення правого операнду до змінної (лівого перанду) та записує у неї отриманий результат. Типи двох операндів визначають поведінку оператора. Таким чином, його результатом може стати або додавання або конкатенація. Для більш детального огляду дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор додавання", "#Addition", 1)}}.

+ +

Синтаксис

+ +
Оператор:  x += y
+Значення:  x  = x + y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  foo = 'foo'
+//  bar = 5
+//  baz = true
+
+
+// число + число -> додавання
+bar += 2 // 7
+
+// булеве значення + число -> додавання
+baz += 1 // 2
+
+// булеве значення + булеве значення -> додавання
+baz += false // 1
+
+// число + рядок -> конкатенація
+bar += 'foo' // "5foo"
+
+// рядок + булеве значення -> конкатенація
+foo += false // "foofalse"
+
+// рядок + рядок -> конкатенація
+foo += 'bar' // "foobar"
+
+ +

Присвоєння з відніманням

+ +

Оператор присвоєння з відніманням віднімає значення правого операнду від змінної (лівого перанду) та записує у неї отриманий результат. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор віднімання", "#Subtraction", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x -= y
+Значення:  x  = x - y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  bar = 5
+
+bar -= 2     // 3
+bar -= 'foo' // NaN
+
+ +

Присвоєння з множенням

+ +

Оператор присвоєння з множенням помножує змінну (лівий операнд) на значення правого операнду та записує отриманий результат у змінну. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор множення", "#Multiplication", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x *= y
+Значення:  x  = x * y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  bar = 5
+
+bar *= 2     // 10
+bar *= 'foo' // NaN
+
+ +

Присвоєння з діленням

+ +

Оператор присвоєння з діленням ділить змінну (лівий операнд) на значення правого операнду та записує отриманий результат у змінну. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор ділення", "#Division", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x /= y
+Значення:  x  = x / y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  bar = 5
+
+bar /= 2     // 2.5
+bar /= 'foo' // NaN
+bar /= 0     // Infinity
+
+ +

Присвоєння остачі

+ +

Оператор присвоєння остачі ділить змінну на значення правого операнду та присвоює остачу змінній. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор остачі", "#Remainder", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x %= y
+Значення:  x  = x % y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  bar = 5
+
+bar %= 2     // 1
+bar %= 'foo' // NaN
+bar %= 0     // NaN
+
+ +

Присвоєння з піднесенням до степеня

+ +

Оператор присвоєння з піднесенням до степеня обчислює результат піднесення першого операнду до показника степеня другого операнду. Дивіться {{jsxref("Operators/Arithmetic_Operators", "оператор піднесення до степеня", "#Exponentiation", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x **= y
+Значення:  x  = x ** y
+
+ +

Приклади

+ +
// Розглянемо такі змінні:
+//  bar = 5
+
+bar **= 2     // 25
+bar **= 'foo' // NaN
+ +

Присвоєння з лівим зсувом

+ +

Оператор присвоєння з лівим зсувом виконує зсув першого операнду на вказану кількість бітів ліворуч та присвоює результат у змінну. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор лівого зсуву", "#Left_shift", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x <<= y
+Значення:  x   = x << y
+
+ +

Приклади

+ +
var bar = 5; //  (00000000000000000000000000000101)
+bar <<= 2; // 20 (00000000000000000000000000010100)
+
+ +

Присвоєння з правим зсувом

+ +

Оператор присвоєння з правим зсувом виконує зсув першого операнду на вказану кількість бітів праворуч та присвоює результат у змінну. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор правого зсуву", "#Right_shift", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x >>= y
+Значення:  x   = x >> y
+
+ +

Приклади

+ +
var bar = 5; //   (00000000000000000000000000000101)
+bar >>= 2;   // 1 (00000000000000000000000000000001)
+
+var bar -5; //    (-00000000000000000000000000000101)
+bar >>= 2;  // -2 (-00000000000000000000000000000010)
+
+ +

Присвоєння з беззнаковим правим зсувом

+ +

Оператор присвоєння з беззнаковим правим зсувом виконує зсув першого операнду на вказану кількість бітів праворуч та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", " оператор беззнакового правого зсуву", "#Unsigned_right_shift", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x >>>= y
+Значення:  x    = x >>> y
+
+ +

Приклади

+ +
var bar = 5; //   (00000000000000000000000000000101)
+bar >>>= 2;  // 1 (00000000000000000000000000000001)
+
+var bar = -5; // (-00000000000000000000000000000101)
+bar >>>= 2; // 1073741822 (00111111111111111111111111111110)
+ +

Присвоєння з побітовим І

+ +

Оператор присвоєння з побітовим І використовує двійкове представлення обох операндів, виконує над ними операцію побітового І та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор побітового І", "#Bitwise_AND", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x &= y
+Значення:  x  = x & y
+
+ +

Приклади

+ +
var bar = 5;
+// 5:     00000000000000000000000000000101
+// 2:     00000000000000000000000000000010
+bar &= 2; // 0
+
+ +

Присвоєння з виключним побітовим АБО

+ +

Оператор присвоєння з виключним побітовим АБО використовує двійкове представлення обох операндів, виконує над ними операцію виключного побітового АБО (XOR) та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор виключного побітового АБО", "#Bitwise_XOR", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x ^= y
+Значення:  x  = x ^ y
+
+ +

Приклади

+ +
var bar = 5;
+bar ^= 2; // 7
+// 5: 00000000000000000000000000000101
+// 2: 00000000000000000000000000000010
+// -----------------------------------
+// 7: 00000000000000000000000000000111
+
+ +

Присвоєння з побітовим АБО

+ +

Оператор присвоєння з побітовим АБО використовує двійкове представлення обох операндів, виконує над ними операцію побітового АБО та присвоює результат змінній. Дивіться {{jsxref("Operators/Bitwise_Operators", "оператор побітового АБО", "#Bitwise_OR", 1)}} для більш детального огляду.

+ +

Синтаксис

+ +
Оператор:  x |= y
+Значення:  x  = x | y
+
+ +

Приклади

+ +
var bar = 5;
+bar |= 2; // 7
+// 5: 00000000000000000000000000000101
+// 2: 00000000000000000000000000000010
+// -----------------------------------
+// 7: 00000000000000000000000000000111
+
+ +

Приклади

+ +

Лівий операнд з іншим оператором присвоєння

+ +

У незвичних ситуаціях оператор присвоєння (наприклад,  x += y) не є ідентичним виразу, який він означає (в даному випадку x = x + y). Коли лівий операнд оператора присвоєння сам містить оператор присвоєння, лівий операнд обчислюється лише один раз. Наприклад:

+ +
a[i++] += 5         // i обчислюється лише один раз
+a[i++] = a[i++] + 5 // i обчислюється двічі
+
+ +

Специфікації

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецифікаціяСтатусКоментар
{{SpecName('ESDraft', '#sec-assignment-operators', 'Assignment operators')}}{{Spec2('ESDraft')}}
{{SpecName('ES2015', '#sec-assignment-operators', 'Assignment operators')}}{{Spec2('ES2015')}}
{{SpecName('ES5.1', '#sec-11.13', 'Assignment operators')}}{{Spec2('ES5.1')}}
{{SpecName('ES1', '#sec-11.13', 'Assignment operators')}}{{Spec2('ES1')}}Початкове визначення.
+ +

Сумісність з веб-переглядачами

+ + + +

{{Compat("javascript.operators.assignment")}}

+ +
+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf