🎀 동등 / 일치 연산자 설명
| 연산자 |
설명 |
|
동등 연산자 (==)
|
피연산자가 서로 같으면 true를 반환합니다. |
|
부등 연산자(!=)
|
피연산자가 서로 다르면 true를 반환합니다. |
|
일치 연산자(===)
|
두 피연산자의 값과 타입이 모두 같은 경우 true를 반환합니다. |
|
일치 연산자(!==)
|
피연산자의 값 또는 타입이 서로 다를 경우 true를 반환합니다. |
🎀 동등 연산자
- 타입이 다를 때, 변환한 뒤 비교하여 일치 연산자에 비해 느슨한 편이다.
- 보통 피연산자 중 문자열이 존재한다면 이를 숫자로 변환시킨 뒤 비교한다.
1 === 1
1 === '1'
- 문자를 숫자
1로 변환시켜 비교하여 true를 반환했다.
true === 1
true === '1'
null == undefined
- 역시 문자를 숫자
1로 변환시켜 true (1)과 같으니 true를 반환했다.
true === 'true'
- 문자 'true'는
boolean과 관계없기 때문에 숫자 1로 변경될 수 없으니 false 반환.
🎀 일치 연산자
- 영어로는 strict equality로 엄격하게 타입까지 비교한 값을 반환한다.
1 === 1
1 === '1'
- 숫자
1과 문자 '1'은 false를 반환한다.
true === 1
true === '1'
true === 'true'
null == undefined
boolean인 true와 문자 '1'은 false를 반환한다.
null은 object, undefined는 undefined를 출력하니 false를 반환한다.
🎀 null과 undefined의 차이?
- undefined
아무것도 선언되지 않은 빈 값을 나타낸다. 타입을 찍어보면 undefined를 출력한다.
- null
의도적으로 비워져 있음을 나타낸다. 타입을 찍어보면 object를 출력한다.
🪄 참고 자료