"==" vs "==="

박광민·2023년 4월 10일
0

== 연산자

  • 두 데이터값의 타입이 다를 경우
    -> 자동으로 데이터의 타입을 변환 후 값을 비교

  • 타입을 비교하지 않으므로 === 연산자에 비해 느슨
10 == 10    // true
10 == '10'  // true
true == 1   // true
true == '1' // true
true == 'true' // false

null == undefined // true

=== 연산자

  • 타입을 변환하지 않으므로 == 연산자에 비해 비교하는 방식이 엄격
    -> 즉, === 연산자는 타입이 다르면, false를 반환
10 === 10   // true
10 === '10' // false
true === 1  // false
true === 'true' // false
null === undefined // false
NaN === NaN // false

// NaN 값은 자기자신을 포함하여 어떠한 값과도 일치하지 않음
// -> 즉, === 연산자에 NaN 값이 존재하는 경우 항상 false
// -> 웬만하면 ===  연산자를 써주는 것이 좋음
profile
developer(Frontend)

0개의 댓글