[JS] ==, === 의 차이점 (동등/일치 연산자) null과 undefined의 차이점

post-thumbnail

🎀 동등 / 일치 연산자 설명

연산자 설명
동등 연산자 (==) 피연산자가 서로 같으면 true를 반환합니다.
부등 연산자(!=) 피연산자가 서로 다르면 true를 반환합니다.
일치 연산자(===) 두 피연산자의 값과 타입이 모두 같은 경우 true를 반환합니다.
일치 연산자(!==) 피연산자의 값 또는 타입이 서로 다를 경우 true를 반환합니다.

🎀 동등 연산자

  1. 타입이 다를 때, 변환한 뒤 비교하여 일치 연산자에 비해 느슨한 편이다.
  2. 보통 피연산자 중 문자열이 존재한다면 이를 숫자로 변환시킨 뒤 비교한다.
1 === 1 // true
1 === '1' // true
  • 문자를 숫자 1로 변환시켜 비교하여 true를 반환했다.
true === 1 // true
true === '1' // true
null == undefined // true
  • 역시 문자를 숫자 1로 변환시켜 true (1)과 같으니 true를 반환했다.
true === 'true' // false
  • 문자 'true'는 boolean과 관계없기 때문에 숫자 1로 변경될 수 없으니 false 반환.

🎀 일치 연산자

  1. 영어로는 strict equality로 엄격하게 타입까지 비교한 값을 반환한다.
1 === 1 // true
1 === '1' // false
  • 숫자 1과 문자 '1'false를 반환한다.
true === 1 // true
true === '1' // false
true === 'true' // false
null == undefined // false
  • booleantrue와 문자 '1'false를 반환한다.
  • nullobject, undefinedundefined를 출력하니 false를 반환한다.

🎀 null과 undefined의 차이?

  • undefined
    아무것도 선언되지 않은 빈 값을 나타낸다. 타입을 찍어보면 undefined를 출력한다.
  • null
    의도적으로 비워져 있음을 나타낸다. 타입을 찍어보면 object를 출력한다.

🪄 참고 자료

profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글