В этом руководстве вы узнаете, как использовать оператор возведения в степень( **
) в JavaScript для возведения числа в степень.
Чтобы возвести число в степень, вы часто используете статический метод Math.power()
со следующим синтаксисом:
Math.pow(base, exponent)
Например:
let result = Math.pow(2,2); console.log(result); // 4 result = Math.pow(2,3); console.log(result); // 8
ECMAScript 2016 предоставил альтернативный способ получить основание степени экспоненты с помощью оператора возведения в степень( **
) со следующим синтаксисом:
x**n
Оператор **
возводит x
в степень n
.
Обратите внимание, что в некоторых языках для возведения в степень используется символ вставки ^
. Однако JavaScript уже использует этот символ для побитового логического оператора XOR.
В следующем примере показано, как использовать оператор возведения в степень( **
):
let result = 2 ** 2; console.log(result); // 4 result = 2 ** 3; console.log(result); // 8
И Math.pow()
, и оператор **
принимают значения number
типа. Однако оператор **
также принимает числа типа bigint
. Например:
let result = 2n ** 3n; console.log(result); // 8n
Кроме того, вы можете использовать оператор возведения в степень( **
) в инфиксной нотации. Например:
let x = 2; x **= 4; console.log(x); // 16
JavaScript не позволяет помещать унарный оператор непосредственно перед базовым числом. Если вы попытаетесь это сделать, вы получите SyntaxError
.
Следующий пример вызывает синтаксическую ошибку:
let result = -2**3;
Ошибка:
Uncaught SyntaxError: Unary operator used immediately before exponentiation expression. Parenthesis must be used to disambiguate operator precedence
Чтобы исправить это, используйте круглые скобки следующим образом:
let result =(-2)**3; console.log(result); // -8