From daa1a2aff136fa9da1fcc97d7da97a2036fabc77 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:47 +0100 Subject: unslug uk: move --- .../web/javascript/reference/operators/index.html | 314 +++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 files/uk/conflicting/web/javascript/reference/operators/index.html (limited to 'files/uk/conflicting/web/javascript/reference/operators/index.html') diff --git a/files/uk/conflicting/web/javascript/reference/operators/index.html b/files/uk/conflicting/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..88128f5d99 --- /dev/null +++ b/files/uk/conflicting/web/javascript/reference/operators/index.html @@ -0,0 +1,314 @@ +--- +title: Арифметичні оператори +slug: Web/JavaScript/Reference/Operators/Arithmetic_Operators +tags: + - JavaScript + - Оператор +translation_of: Web/JavaScript/Reference/Operators +translation_of_original: Web/JavaScript/Reference/Operators/Arithmetic_Operators +--- +
{{jsSidebar("Operators")}}
+ +

Арифметичні оператори приймають числові значення (або літерали, або змінні) в якості операндів та повертають єдине числове значення. Стандартними арифметичними операторами є додавання (+), віднімання (-), множення (*) та ділення (/).

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

Додавання (+)

+ +

Оператор додавання повертає суму числових операндів або об'єднання рядків.

+ +

Синтаксис

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

Приклади

+ +
// Number + Number -> сума
+1 + 2 // 3
+
+// Boolean + Number -> сума
+true + 1 // 2
+
+// Boolean + Boolean -> сума
+false + false // 0
+
+// Number + String -> об'єднання
+5 + 'foo' // "5foo"
+
+// String + Boolean -> об'єднання
+'foo' + false // "foofalse"
+
+// String + String -> об'єднання
+'foo' + 'bar' // "foobar"
+
+ +

Віднімання (-)

+ +

Оператор віднімання проводить операцію віднімання між двома операндами, повертаючи різницю між ними.

+ +

Синтаксис

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

Приклади

+ +
5 - 3 // 2
+3 - 5 // -2
+'foo' - 3 // NaN
+ +

Ділення (/)

+ +

Оператор ділення повертає частку своїх операндів, де лівий операнд є діленим, а правий операнд є дільником.

+ +

Синтаксис

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

Приклади

+ +
1 / 2      // повертає 0.5 у JavaScript
+1 / 2      // повертає 0 у Java
+// (жодне з чисел не є явно числом з рухомою комою)
+
+1.0 / 2.0  // повертає 0.5 у JavaScript та Java
+
+2.0 / 0    // повертає Infinity у JavaScript
+2.0 / 0.0  // також повертає Infinity
+2.0 / -0.0 // повертає -Infinity у JavaScript
+ +

Множення (*)

+ +

Оператор множення повертає добуток операндів.

+ +

Синтаксис

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

Приклади

+ +
2 * 2 // 4
+-2 * 2 // -4
+Infinity * 0 // NaN
+Infinity * Infinity // Infinity
+'foo' * 2 // NaN
+
+ +

Остача (%)

+ +

Оператор остачі повертає остачу від ділення першого операнду на другий. Він завжди приймає знак діленого.

+ +

Синтаксис

+ +
Оператор: var1 % var2
+
+ +

Приклади

+ +
12 % 5 // 2
+-1 % 2 // -1
+1 % -2 // 1
+NaN % 2 // NaN
+1 % 2 // 1
+2 % 3 // 2
+-4 % 2 // -0
+5.5 % 2 // 1.5
+
+ +

Піднесення до степеня (**)

+ +

Оператор піднесення до степеня повертає результат піднесення першого операнду до показника степеня другого операнду. Тобто, var1var2 у наведеній інструкції, де var1 та var2 є змінними. Оператор піднесення до степеня правоасоціативний. a ** b ** c дорівнює a ** (b ** c).

+ +

Синтаксис

+ +
Оператор: var1 ** var2
+
+ +

Примітки

+ +

У більшості мов, таких як PHP, Python та інших, які мають оператор піднесення до степеня (**), оператор піднесення до степеня має вищий пріоритет, ніж унарні оператори, такі як унарний + та унарний -, але існує кілька винятків. Наприклад, у Bash оператор ** має нижчий пріоритет, ніж унарні оператори. У JavaScript неможливо написати неоднозначний вираз піднесення до степеня, тобто, ви не можете поставити унарний оператор (+/-/~/!/delete/void/typeof) одразу перед числом основи степеня.

+ +
-2 ** 2;
+// 4 у Bash, -4 у інших мовах.
+// Це помилка у JavaScript, оскільки операція неоднозначна.
+
+
+-(2 ** 2);
+// -4 у JavaScript, а наміри автора однозначні.
+
+ +

Приклади

+ +
2 ** 3 // 8
+3 ** 2 // 9
+3 ** 2.5 // 15.588457268119896
+10 ** -1 // 0.1
+NaN ** 2 // NaN
+
+2 ** 3 ** 2 // 512
+2 ** (3 ** 2) // 512
+(2 ** 3) ** 2 // 64
+
+ +

Щоб поміняти знак результату виразу піднесення до степеня:

+ +
-(2 ** 2) // -4
+
+ +

Щоб зробити основу степеня у виразі від'ємним числом:

+ +
(-2) ** 2 // 4
+
+ +
+

Заувага: JavaScript також має бітовий оператор ^ (логічний XOR). ** та ^ відрізняються (наприклад: 2 ** 3 === 8, тоді як 2 ^ 3 === 1.)

+
+ +

Інкремент (++)

+ +

Оператор інкременту збільшує свій операнд (додає одиницю) та повертає його значення.

+ + + +

Синтаксис

+ +
Оператор: x++ або ++x
+
+ +

Приклади

+ +
// Постфіксний
+var x = 3;
+y = x++; // y = 3, x = 4
+
+// Префіксний
+var a = 2;
+b = ++a; // a = 3, b = 3
+
+ +

Декремент (--)

+ +

Оператор декременту зменшує свій операнд (віднімає одиницю) та повертає його значення.

+ + + +

Синтаксис

+ +
Оператор: x-- або --x
+
+ +

Приклади

+ +
// Постфіксний
+var x = 3;
+y = x--; // y = 3, x = 2
+
+// Префіксний
+var a = 2;
+b = --a; // a = 1, b = 1
+
+ +

Унарний мінус (-)

+ +

Унарний мінус ставиться перед своїм операндом та міняє його знак на протилежний.

+ +

Синтаксис

+ +
Оператор: -x
+
+ +

Приклади

+ +
var x = 3;
+y = -x; // y = -3, x = 3
+
+// Унарний мінус може перетворити нечислове значення на число
+var x = "4";
+y = -x; // y = -4
+
+ +

Унарний плюс (+)

+ +

Унарний плюс ставиться перед своїм операндом та повертає значення операнду, але намагається перетворити його на число, якщо він не є числом. Хоча унарний мінус (-) також вміє перетворювати нечислові значення, унарний плюс найшвидший та найкращий спосіб перетворити щось у число, тому що він не виконує ніяких інших операцій з числом. Він може перетворювати рядкові представлення цілих чисел та чисел з рухомою комою, а також нерядкові значення true, false та null. Підтримуються цілі числа у десятковому та шістнадцятковому форматах. Підтримуються від'ємні числа (хоча не у шістнадцятковому форматі). Якщо оператор не може розібрати певне значення, він поверне {{jsxref("NaN")}}.

+ +

Синтаксис

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

Приклади

+ +
+3     // 3
++'3'   // 3
++true  // 1
++false // 0
++null  // 0
++function(val){ return val } // NaN
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецифікаціяСтатусКоментар
{{SpecName('ESDraft', '#sec-additive-operators')}}{{Spec2('ESDraft')}}
{{SpecName('ES2016', '#sec-postfix-expressions')}}{{Spec2('ES2016')}}Доданий Оператор піднесення до степеня.
{{SpecName('ES2017', '#sec-postfix-expressions')}}{{Spec2('ES2017')}}
{{SpecName('ES2015', '#sec-postfix-expressions')}}{{Spec2('ES2015')}}Визначені у кількох розділах специфікації: Адитивні оператори, мультиплікативні оператори, постфіксні вирази, унарні оператори.
{{SpecName('ES5.1', '#sec-11.3')}}{{Spec2('ES5.1')}}Визначені у кількох розділах специфікації: Адитивні оператори, мультиплікативні оператори, постфіксні вирази, унарні оператори.
{{SpecName('ES1')}}{{Spec2('ES1')}}Початкове визначення.
+ +

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

+ + + +

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

+ +

Див. також

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