가끔 다른 사람들의 자바스크립트 소스를 분석하다가 보면..


if ( i === 0 )


혹은


if ( i == 0 )


이라는 소스를 본적이있다.


멍2 이건 뭐어지이...


분명 두개가 비교하는 것은 맞는데


=== 와 == .. 이건 차이가 있다.


영어로 간단하게 표현하자면


== : Equality

=== : Identity



주로 나오는 예제중에 하나는

i = 0 일 경우

i == '0' 일 경우는 TRUE

i === '0' 일 경우는 FALSE 가 된다는 것이다.


무슨 차이점인지 확인해보면

typeof(0)을 해서 타입을 확인해 보면 number 형태로 되어있고

typeof('0')을 하면 string 형태로 되어있다는 점을 확인할 수 있다.


== 는 값만으로 체크를 하는 것이고

=== 은 형태와 값을 모두 체크하여 비교하는 것이다.



관련 URL


JavaScript Comparison and Logical Operators

http://www.w3schools.com/JS/js_comparisons.asp


JavaScript === vs == : Does it matter which “equal” operator I use?

http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use


Javascript: Equality versus Identity

http://blog.agilejedi.com/2008/09/javascript-equality-versus-identity.html


JavaScript tutorial: Comparison operators

http://www.c-point.com/javascript_tutorial/jsgrpComparison.htm



ps.

구글에서 ===으로 검색할 경우 검색이 잘 안되었는데..

그럴때 그냥 equals로 검색을 했더니 비슷한 부분으로 검색이 되는 것을 확인하였다.

특수문자를 검색할 경우 그냥 영문 단어로 검색을 하는 것이 좀 더 확실한 결과를 찾을 수 있다.


심지어..


는는과 는는는의 차이는 ? 이라고도 검색을 해봤다 웃겨

Posted by Mooki
,