JavaScript triplo é igual e comparação de três variáveis

Alguém pode explicar isso?

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

Também existe um nome para a lógica booleana que compara mais de dois números dessa maneira (eu chamei de "comparação de três variáveis", mas acho que seria errado ...)

questionAnswers(2)

yourAnswerToTheQuestion