2013-03-11 15 views
4

누군가 설명 할 수 있습니까?JavaScript 트리플 3과 3 변수 비교

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

또한이 방법으로 두 개 이상의 숫자를 비교 부울 논리의 이름 (나는 "세 가지 변수 비교"라고 불렀다하지만 난 그 잘못 될 거라고 생각 ...)

이있다
+0

([여기 성능 테스트와 스크립트 모두 운전자의 상세한 비교는] http://conceptf1.blogspot.com/2014/01/ –

답변

8

이 표현 :

1 === 1 === 1 

는 평가로 :

(1 === 1) === 1 

괄호 안의 표현식을 평가 한 후 :

그리고이 표현식은 논리적으로 거짓입니다. 아래 표현하지만 예상대로 true 반환

1 === 1 === true 
+1

하하, 더 많은 테스트를 했어야합니다 :'5 == 5 == 5'도 거짓이지만,'1 == true'로 인해서 나는 부숴졌습니다. 나의 예를 사용하여'1 == 1 == 1'. +1 감사합니다! – stackunderflow

+0

질문이 하나 더 있습니다. 'x === y && y === z && x === z'와 같이 지루한 표현없이하고 싶은 일을 할 수 있습니까? – stackunderflow

+0

@DuncanNZ 항상 세 가지 변수가 관련되어 있습니까? –