Potrójny JavaScript równa się i porównanie trzech zmiennych

Czy ktoś może to wyjaśnić?

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? <--

Istnieje również nazwa logiki boolowskiej, która porównuje więcej niż dwie liczby w ten sposób (nazwałem to „porównaniem trzech zmiennych”, ale myślę, że byłoby źle…)

questionAnswers(2)

yourAnswerToTheQuestion