Spec-Zone.ru › ESLint

no-bitwise

Запрещает побитовые операторы

Побитовые операторы в JavaScript используются очень редко, и часто & или | — это просто опечатка вместо && или ||, что приводит к неожиданному поведению.

const x = y | z;

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

Это правило запрещает побитовые операторы.

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

Открыть в Playground
/*eslint no-bitwise: "error"*/

let x = y | z;

const x1 = y & z;

const x2 = y ^ z;

const x3 = ~ z;

const x4 = y << z;

const x5 = y >> z;

const x6 = y >>> z;

x |= y;

x &= y;

x ^= y;

x <<= y;

x >>= y;

x >>>= y;

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

Открыть в Playground
/*eslint no-bitwise: "error"*/

let x = y || z;

const x1 = y && z;

const x2 = y > z;

const x3 = y < z;

x += y;

Параметры

У этого правила есть параметр-объект:

  • "allow": Разрешает использовать список побитовых операторов в качестве исключений.
  • "int32Hint": Разрешает использовать побитовое ИЛИ в шаблоне |0 для приведения типов.

allow

Примеры правильного кода для этого правила с параметром { "allow": ["~"] }:

Открыть в Playground
/*eslint no-bitwise: ["error", { "allow": ["~"] }] */

~[1,2,3].indexOf(1) === -1;

int32Hint

Примеры правильного кода для этого правила с параметром { "int32Hint": true }:

Открыть в Playground
/*eslint no-bitwise: ["error", { "int32Hint": true }] */

const b = a|0;

Версия

Это правило появилось в ESLint v0.0.2.

Ресурсы

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

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

Spec-Zone.ru

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