Почему 1 == 1 == 1 == 1 выдает результат true, а 'knx' == 'knx' == 'knx' == 'knx' выдает результат false
потому что 1 это ещё и true. попробуйте так 2 == 2 == 2 == 2 - будет false
работает примерно так:
(1 == 1) == 1 == 1 итого (true) == 1 == 1 далее ((true) == 1 ) == 1 - тоже true (так как 1 это true). Ну и так далее...
'knx' == 'knx' == 'knx' == 'knx' : 'knx' == 'knx' == 'knx' == 'knx' -> (true) == 'knx' == 'knx' -> (true == 'knx') - false
Потому что это логично. 1 - истина (true), 0 - ложь (false). Результат первой операции сравнения будет логическим типом и равняется true, далее true ты сравниваешь с 'knx'. А теперь подумай над этим - 'knx' == true.
Потому что сравнение выполняется слева направо:
((1 == 1) == 1) == 1(true == 1) == 1true == 1trueПравильно сравнивать одним из следующих способов:
var a = 2, b = 2, c = 2, d = 2;
console.log(a == b && a == c && a == d);
console.log(a === b && a === c && a === d);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости