Spec-Zone.ru › ESLint

prefer-exponentiation-operator

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

🔧 Можно исправить

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

❄️ Заморожено

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

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

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

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

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

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

Открыть в песочнице
/*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);

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

Открыть в песочнице
/*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
developer.mozilla.org
5848 — v8 — движок JavaScript V8 — Monorail
bugs.chromium.org

Ресурсы

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

© 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