@36serg6

Зачем делать приведение к типу BOOL в конструкции IF?

Уже не первый раз встречаю в коде JavaScript библиотек вот такой код:
var x = 4;
var y = 5;
if (!!x && y > 5) {
  //do something
}

Зачем делать приведение переменной к типу BOOL с помощью двойного отрицания, если в конструкции IF, итак будет выполнено преобразование типа? Чем это будет отличаться от следующего кода?
var x = 4;
var y = 5;
if (x && y > 5) {
  //do something
}
  • Вопрос задан
  • 2200 просмотров
Решения вопроса 1
ProgramCodePav
@ProgramCodePav
Front-end developer. Love open source
Ничем не отличается. Просто это обобщает все ложные значения (0, false, "", null, undefined, NaN) к единому значению false.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
и то и то imho говнокод.
если в переменной подразумевается число - надо проверять его как число, а не делать такие вот преобразования.
впрочем я достаточно далек от темы, могу ошибаться
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы