JavaScript тройное равенство и сравнение с тремя переменными

javascript triple-equals

1614 просмотра

2 ответа

Может кто-нибудь объяснить это?

1 == 1        //true, as expected
1 === 1       //true, as expected
1 == 1 == 1   //true, as expected
1 == 1 == 2   //false, as expected
1 === 1 === 2 //false, as expected
1 === 1 === 1 //false? <--

Также есть имя для логической логики, которая сравнивает более двух чисел таким образом (я назвал это «сравнением с тремя переменными», но я думаю, что это было бы неправильно ...)

Источник Размещён: 12.11.2019 09:17

Ответы (2)


7 плюса

Решение

Это выражение:

1 === 1 === 1

Оценивается как:

(1 === 1) === 1

После оценки выражения в скобках:

true === 1

И это выражение логически неверно. Выражение ниже возвращается, trueкак и ожидалось:

1 === 1 === true
Автор: Ja͢ck Размещён: 11.03.2013 05:48

1 плюс

Равенство - это приоритетная операция слева направо .

Так:

1 == 1 == 1
true == 1
true

А также:

1 === 1 === 1
true === 1
false // because triple-equals checks type as well
Автор: Interrobang Размещён: 11.03.2013 05:49
Вопросы из категории :
32x32