Уже не первый раз встречаю в коде 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
}