alt
Home 동치연산자 '==' vs '==='
Post
Cancel

동치연산자 '==' vs '==='


’==’ : Equality

  • 피연산자가 다른 타입이면 강제 형변환을 통해 비교. (값 비교)

  • 예시

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    0 == '' // true
    0 == '0' // true
    1 == true // true
    false == '0' // true
    null == undefined // true
    false == null // false
    false == undefined // false
    2 == true // false
    'true' == true // false
    


’===’ : Identity

  • 형변환을 하지 않고 엄격한 비교 (값 & 자료형)

  • 가능한 이 것을 사용할 것을 권장(자료형을 직접 변환해 비교함으로써 가독성 높이도록)

  • 예시

    1
    2
    3
    4
    5
    6
    
    0 == '' // false
    0 == false // false
    1 == true // false
    'abc' == new String('abc') // false
    NaN == NaN // false. (NaN은 어떤 것과도 같지 않음)
    null == undefined // false. (typeof null == "object" /typeof undefined == "undefined")
    



Reference)

https://hyunseob.github.io/2015/07/30/diffrence-between-equality-and-identity-in-javascript/

http://guswnsxodlf.github.io/javascript-equal-operator

https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes

This post is licensed under CC BY 4.0 by the author.