From d899a920d4b27f75c572c031434baa5fdf82124c Mon Sep 17 00:00:00 2001 From: Gleison de Almeida <48810597+gleisonkz@users.noreply.github.com> Date: Wed, 4 Aug 2021 17:22:33 -0300 Subject: ✨ feat: translation of Web/JavaScript/Reference/Operators/Exponentiation (#1852) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ feat: translation of Web/JavaScript/Reference/Operators/Exponentiation * 🐛 fix: rename title * 🐛 fix: operator name typo * 📦 refactor: change redirect page to pt-BR * 🐛 fix: h3 ids * 📦 refactor: add new compatibility-table --- .../reference/operators/exponentiation/index.html | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/operators/exponentiation/index.html (limited to 'files/pt-br/web/javascript/reference') diff --git a/files/pt-br/web/javascript/reference/operators/exponentiation/index.html b/files/pt-br/web/javascript/reference/operators/exponentiation/index.html new file mode 100644 index 0000000000..be859b3141 --- /dev/null +++ b/files/pt-br/web/javascript/reference/operators/exponentiation/index.html @@ -0,0 +1,109 @@ +--- +title: Operador Exponencial +slug: Web/JavaScript/Reference/Operators/Exponentiation +tags: +- JavaScript +- Operador Exponencial +translation_of: Web/JavaScript/Reference/Operators/Exponentiation +original_slug: Web/JavaScript/Reference/Operators/Operador_Exponencial +--- +
{{jsSidebar("Operators")}}
+ +

Sumário

+ +

O operador de exponenciação (**) retorna o resultado de elevar o primeiro operando à potência do + segundo operando. É equivalente ao método Math.pow, exceto que também aceita números do tipo BigInt + como operandos.

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

Sintaxe

+ +
+    x ** y;
+
+ +

Descrição

+ +

O operador de exponenciação é associativo à direita: a ** b ** c é igual a a ** (b ** c).

+ +

+ Na maioria das linguagens, como PHP, Python e outras que têm um operador de exponenciação (**), + o operador de exponenciação é definido para ter uma precedência maior do que os operadores unários, + como o unário + e unário -, mas há algumas exceções. + Por exemplo, no Bash, o operador ** é definido para ter uma precedência menor do que os operadores unários. +

+ +

+ Em JavaScript, é impossível escrever uma expressão de exponenciação ambígua. + Ou seja, você não pode colocar um operador unário (+ / - / ~ /! / delete / void / typeof) + imediatamente antes do número base; fazer isso causará um SyntaxError. +

+ + +
+    -2 ** 2;
+    // // 4 no Bash, -4 em outros idiomas.
+    // Isso é inválido em JavaScript, pois a operação é ambígua.
+    
+    -(2 ** 2);
+    // -4 em JavaScript e a intenção do autor não é ambígua.
+
+ +

+ Observe que algumas linguagens de programação usam o símbolo circunflexo ^ para exponenciação, + mas o JavaScript usa esse símbolo para o operador XOR lógico bit a bit. +

+ +

Exemplos

+ +

Exponenciação básica

+ +
+    2 ** 3   // 8
+    3 ** 2   // 9
+    3 ** 2.5 // 15.588457268119896
+    10 ** -1 // 0.1
+    NaN ** 2 // NaN
+
+ +

Associatividade

+ +
+    2 ** 3 ** 2   // 512
+    2 ** (3 ** 2) // 512
+    (2 ** 3) ** 2 // 64
+
+ +

Uso com operadores unários

+ +

Para inverter o sinal do resultado de uma expressão de exponenciação:

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

Para forçar a base de uma expressão de exponenciação a ser um número negativo:

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

Compatibilidade com navegadores

+ +

{{Compat}}

+ +

Veja também

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