Jshint: Добавить опцию для подавления ошибки «Использовать '===' для сравнения с '0'»

Созданный на 15 нояб. 2013  ·  7Комментарии  ·  Источник: jshint/jshint

Использование == для сравнения с нулем просто не является ошибкой или опасностью при сравнении значения, которое гарантированно является числом. Например:

var arr = ["foo"];
var arrIsEmpty = (arr.length == 0);

Я обычно использую == в таких ситуациях, и это чисто стилистическое решение. Я хотел бы, чтобы JSHint уважал мои хорошо информированные пожелания.

Самый полезный комментарий

Для других, которым может быть трудно использовать ответ valueof, установка "-W041": false кажется, помогает.

Все 7 Комментарий

Вы ведь знаете о варианте eqeqeq , верно? Вот откуда эта ошибка, установка ее на false освободит вас от этого случая. Или вы ищете что-то более конкретное, например, подавление сравнений только с 0 (а не сравнений с другими значениями)?

eqeqeq - общий случай. Кажется, есть отдельная проверка для сравнения с 0, которая жалуется, даже если eqeqeq ложно.

Я действительно хочу иметь возможность подавить все формы жалоб от JSHint на использование == и! =, Но это предотвращает сравнение с 0.

МММ ясно. Связанный код здесь, он определенно вызывает это сравнение (среди прочего):

https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L2201 -L2215
https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L1338 -L1346

Вы можете отключить это предупреждение по его коду.

Для других, которым может быть трудно использовать ответ valueof, установка "-W041": false кажется, помогает.

Спасибо @privman

К вашему сведению, я также нашел более подробную информацию здесь

Есть ли мотивация для сохранения в силе предупреждений W041 когда "eqeqeq": false ?

Они фактически запрещают использование == и != в уязвимых ситуациях.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги