no-loss-of-precision
Запрещает числовые литералы, теряющие точность
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Это правило запрещает использование числовых литералов, теряющих точность во время выполнения при преобразовании в JS Number из-за округления 64-разрядных чисел с плавающей точкой.
Подробности правила
В JS Numbers хранятся в виде чисел двойной точности с плавающей точкой согласно стандарту IEEE 754. Из-за этого числа сохраняют точность лишь до определённого количества цифр. Если программист вводит дополнительные цифры, они теряются при преобразовании к типу Number, что приводит к неожиданному поведению.
Примеры неправильного кода для этого правила:
/*eslint no-loss-of-precision: "error"*/
const a =
const b =
const c =
const d =
const e =
const f = ;
Примеры правильного кода для этого правила:
/*eslint no-loss-of-precision: "error"*/
const a = 12345
const b = 123.456
const c = 123e34
const d = 12300000000000000000000000
const e = 0x1FFFFFFFFFFFFF
const f = 9007199254740991
const g = 9007_1992547409_91
Параметры
У этого правила нет параметров.
Версия
Это правило появилось в ESLint v7.1.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-loss-of-precision