Приложил пример с двумя условиями if. Первое условие if работает как ожидалось. Второе, если условие возвращает 11, но почему? Я знаю, что второе условие, если это неправильно, но я хотел бы понять, почему Javascript возвращает в этом случае 11.Логический оператор || возвращает число вместо логического значения
function exception(number) {
// if(number === 10 || number === 11) { // Working as expected
if(number === 10 || 11) { // Why 11?
console.log(number);
}
}
function loop(f) {
for (i = 0; i <= 100; i++) {
f(i);
}
}
loop(exception);
Возможный дубликат [Два символа трубы (OR) в этой строке Javascript] (http://stackoverflow.com/questions/10358823/two-pipe-symbols-or-in-this-javascriptline) – J0B
Любые неизолированные символы -zero number считается правдивым и вернет 'true' при преобразовании в boolean. –
fyi: иногда удобно использовать 'if ([10,11] .indexOf (number)! == -1)' – adeneo