Вы могли бы написать
if (amount > 0 === false) {
строка автоматически преобразуется в число, когда в этом сравнении, и любая строка, которая не может быть правильно разобрано как число преобразуется в NaN
, который не является >0
. И jshint, кажется, радует, когда видит === false
вместо удобного !
.
Но реальное решение кажется не Использование jshint, что не имеет отношения к данному вопросу. Этот инструмент не позволяет использовать возможности JavaScript.
Если вы решили отказаться от jshint, я бы до сих пор советую вам упростить немного ваш тест как
if (!(amount > 0)) {
Качество мудрым, самым важным здесь было бы, на мой взгляд небольшой комментарий вы уже добавили.
Ну, 'if (isNaN (amount) || + amount <= 0)' ... – Bergi
Или просто переместите '+' перед '' ', позволяя упростить условное выражение. Это также кажется мне естественным, так как в «' amount' есть числовое значение ... ». – Jon
Почему вы думаете, что вам нужно будет переписать выражение? Jshint ошибается, он не видит, что он правильно документирован. – Bergi