From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../reference/operators/exponentiation/index.html | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 files/uk/web/javascript/reference/operators/exponentiation/index.html (limited to 'files/uk/web/javascript/reference/operators/exponentiation') diff --git a/files/uk/web/javascript/reference/operators/exponentiation/index.html b/files/uk/web/javascript/reference/operators/exponentiation/index.html new file mode 100644 index 0000000000..e50f793f42 --- /dev/null +++ b/files/uk/web/javascript/reference/operators/exponentiation/index.html @@ -0,0 +1,102 @@ +--- +title: Піднесення до степеня (**) +slug: Web/JavaScript/Reference/Operators/Exponentiation +tags: + - JavaScript + - Довідка + - Оператор +translation_of: Web/JavaScript/Reference/Operators/Exponentiation +--- +
{{jsSidebar("Operators")}}
+ +

Оператор піднесення до степеня (**) повертає результат піднесення першого операнду до показника степеня другого операнду.

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

Синтаксис

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

Опис

+ +

Оператор піднесення до степеня правоасоціативний. a ** b ** c дорівнює a ** (b ** c).

+ +

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

+ +

У JavaScript неможливо написати неоднозначний вираз піднесення до степеня, тобто, ви не можете поставити унарний оператор (+/-/~/!/delete/void/typeof) одразу перед числом основи степеня.

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

Зауважте, що деякі мови програмування використовують символ карет ^ для піднесення до степеня, але JavaScript використовує цей символ як оператор виключного побітового АБО (XOR).

+ +

Приклади

+ +

Базове піднесення до степеня

+ +
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
+
+ +

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

+ + + + + + + + + + +
Специфікація
{{SpecName('ESDraft', '#sec-exp-operator', 'Exponentiation operator')}}
+ +

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

+ + + +

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

+ +

Див. також

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