2013-08-23 3 views
-8

나는 조건문에 "==="을 많이 사용했다.자바 스크립트에서 "==="의 의미는 무엇입니까?

아무도 말해 줄 수 있습니까?

3 진수 연산자와 비슷합니까?

if(typeof(x) == "string") 
{ 
    x= (x=== "true"); 
} 
+1

http://www.w3schools.com/js/js_comparisons.asp – lurker

+0

'==='는 * 엄격한 * 동일성 비교입니다. – m90

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators –

답변

3

=== 연산자가 같음을 확인합니다. 이는 typevalue이 동일 함을 의미합니다. == 연산자는 value이 같음을 의미하는 동등성을 검사하며이 유형은 무시합니다.

이 때문에 언어의 느슨한 타입 자연과 변수의 truthy/falsey 자연에 자바 스크립트에서 유용 할 수 있습니다

alert("1" == 1); //alerts true 
alert("1" === 1); //alerts false, types are different. 
alert(1 === 1); //alerts true 

예.

예를 들어, 빈 문자열은 false ==입니다

("") ? alert(true): alert(false); //alerts false 

또한 0== 거짓

(0) ? alert(true): alert(false); //alerts false 

뿐만 아니라 객체의 빈 재산 것을 발견 할 것이다 :

({}.prop) ? alert(true): alert(false); //alerts false 

이러한 상황에서는 유형이 중요한 경우 === 연산자를 사용하십시오.

0

===은 "유형 강제 변환 없음"을 의미합니다. 트리플을 사용하면 값과 해당 유형 값이 같아야합니다.

2

그것은 strict equality comparison입니다. 즉, 값뿐만 아니라 객체의 유형도 평가됩니다. 자세한 내용은 ECMAScript-specification에서 확인할 수 있습니다.

1

"==="는 유형 변환을 수행하지 않으므로 "=="와 다른 결과를 가질 수 있습니다.

0

ID (===) 연산자는 유형 변환이 수행되지 않는 경우를 제외하고 항등 (==) 연산자와 동일하게 작동하며 형식이 같아야 동일한 것으로 간주되어야합니다.

관련 문제