Spec-Zone.ru › ESLint

оператор-возведения-в-степень

Запретить использование Math.pow в пользу оператора **

🔧 Исправимо

Некоторые проблемы, выявленные этим правилом, автоматически исправляются с помощью параметра командной строки --fix командной строки

Введённый в ES2016, инфиксный оператор возведения в степень ** является альтернативой стандартной функции Math.pow

Инфиксная запись считается более читаемой и, следовательно, предпочтительнее записи с использованием функции.

Подробности правила

Это правило запрещает вызовы Math.pow и предлагает использовать оператор ** вместо этого.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint prefer-exponentiation-operator: "error"*/

const foo = Math.pow(2, 8);

const bar = Math.pow(a, b);

let baz = Math.pow(a + b, c + d);

let quux = Math.pow(-1, n);

Примеры правильного кода для этого правила:

Открыть в Playground
/*eslint prefer-exponentiation-operator: "error"*/

const foo = 2 ** 8;

const bar = a ** b;

let baz = (a + b) ** (c + d);

let quux = (-1) ** n;

Когда не следует использовать

Это правило не следует использовать, если в вашем коде не поддерживается ES2016.

Версия

Это правило было введено в ESLint v6.7.0.

Дополнительные материалы

Возведение в степень (**) - JavaScript | MDN
5848 - v8 - Движок JavaScript V8 - Monorail

Источники

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/prefer-exponentiation-operator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API