В чем преимущество использования ECMAScript 2016 оператор возведения в степень над текущим Math.pow()
? Другими словами, помимо уменьшения количества нажатий клавиш, в чем разница между
Math.pow(2, 2) => 4
и 2 ** 2 => 4
В чем преимущество использования ECMAScript 2016 оператор возведения в степень над текущим Math.pow()
? Другими словами, помимо уменьшения количества нажатий клавиш, в чем разница между
Math.pow(2, 2) => 4
и 2 ** 2 => 4
Никто. Как вы можете прочитать в спецификации ES7, оба Math.pow
и **
оператор возведения в степень a> привести свои аргументы/операнды к числам и использовать такой же алгоритм для определения результата.
Дополнение: это изменилось с введением в ES2020 типа BigInt, значения которого поддерживаются только операторами (включая **
), но не объектом Math
.
Math
или Math.pow
. :-)
- person T.J. Crowder; 05.12.2018
Поздно на вечеринку - я просто хотел добавить, что, несмотря на то, что между двумя способами нет никакой разницы, я недавно понял, что оператор возведения в степень **
не поддерживается в Internet Explorer, поэтому разработчики, которые заинтересованы в расширенном < b>поддержка разных браузеров для своих приложений, возможно, предпочтут выбрать Math.pow(...)
вместо оператора возведения в степень.
Math.pow(2,2) === 2**2; // ЛОЖЬ
Math.pow(99,99);
99 ** 99;
Результат:
3,697296376497263e+197
3,697296376497268e+197
**=
. - person slugonamission   schedule 02.06.2016