티스토리 뷰

보통 서로 같은지 혹은 다른지를 확인 할때 ==, != 연산을 하게됩니다.

1 == 1 > true 를 반환 하고, 1 != 1 > false 가 됩니다.

1 == '1' 은 어떨까요, 숫자타입 1 과 문자타입 '1' 입니다. false 를 반환 할 것 같지만, true를 반환합니다.

 

== 연산과 != 연산은 기본적으로 비교하기전에 좌측과 우측의 타입을 맞춰 줍니다. 

형변환을 강제로 시키게됩니다. 형변환에 대한 예제는 아래링크를 참조해 주세요

>>[[JQUERY]자바스크립트] - jQuery 012. parseInt(), 문자를 정수(숫자)로 바꾸기(형변환)

>>[[JQUERY]자바스크립트] - jQuery 013. parseFloat() 문자를 실수(소수점)로 바꾸기(변형하기)

>>[[JQUERY]자바스크립트] - jQuery 014. Number() 문자를 숫자로 변환(jquery 형변환)

>>[[JQUERY]자바스크립트] - jQuery 015. 숫자를 문자로 형변환 String()

>>[[JQUERY]자바스크립트] - jQuery 016. 16진수 숫자를 문자로 형변환 toString(16)

>>[[JQUERY]자바스크립트] - jQuery 017. 실수를 문자로 형변환, 반올림 toFixed()

1 == '1' 의 결과에서 false 값을 얻기 위한 연산이 1==='1' 입니다.

=== 연산과 !=== 연산은 형변환을 시키지 않습니다. 

아래는 예제입니다.


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
            //==
            123   == "123";     //true
            true  == "1";       //true
            true  == 1;         //true
            false == "0";       //true
            false == 0;         //true
            0     == "";        //true
            null  == undefined; //true
 
            //===
            123   === "123";     //false
            true  === "1";       //false
            true  === 1;         //false
            false === "0";       //false
            false === 0;         //false
            0     === "";        //false
            null  === undefined; //false
cs



예제를 라인별로 보겠습니다.

== 연산은, Equal Operator 혹은 Equality 연산, 동등연산 등등 명칭이 많습니다.

라인 20.    숫자 123 과 문자 123 을 비교합니다. 둘의 타입(형) 을 맞춰준다면 같은 값이 됩니다. 

   == 연산은 true를 반환 합니다.

라인 21.    ture, flase 는 기본적으로 1,0 을 반환합니다. 둘의 타입(형)을 맞춰준다면 같은 값이 됩니다.

라인 25.    0 과 비어있는 문자 값은 같은 값으로 봅니다.

라인 26.    null 과 undefined는 같은 값으로 봅니다.


=== 연산은, Strict Equal Operator 혹은 Identity 연산, 일치연산 등등 명칭이 많습니다.

라인 29.    123과 "123"을 비교합니다. 123은 숫자이고, "123"은 문자입니다. 타입이 틀리기 때문에 

   값은 false가 됩니다. 

라인 30.    true 와 "1" 의 비교입니다. == 연산에서는 true였지만 ===연산에서는 false가 됩니다.

라인 31.    true 와 1 의 비교입니다. 이 비교 역시 타입(형) 이 다르기 때문에 false 가됩니다.

라인 32.    false 와 "1"의 비교입니다. 역시 타입이 다릅니다. false 입니다.

라인 33.    false 와 0의 비교입니다. 타입이 다르기 때문에 false 입니다.

라인 34.    0과 ""의 비교 입니다. 0과 ""은 헷갈리기 쉬우니 기억해 두어야 합니다. ===연산에서는 false입니다.

라인 35.    null 과 undefined 입니다. null은 값이 없을 때 리턴되는 값이고 undefined 는 찾지 못할때 리턴되는 

   값입니다. 이것 또한 헷갈리기 쉬우닌 기억해 두어야 합니다.



# '==' 연산과 '===' 은 둘다 같다는 비교 연산이지만 '==' 보다는 '==='가 좀더 엄격한 비교연산이라 생각할 수 있습니다.


    


댓글