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 +--- +
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.
+ x ** y; ++ +
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
.
+
+ 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 ++ +
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 ++ +
{{Compat}}
+ +