JavaScript 에서의 == 연산자와 ===연산자
1. == 연산자
1 == 1 // true
1 == '1' // true
1 == true // true
true == 'true' // true
null == undefined // true
==연산자는 두 값을 비교해서 같으면 true 다르면 false 값을 리턴하는데, 두 값이 서로 타입이 다를 경우에는 자동으로 일부 값의 타입을 변환한 후에 값을 비교하게된다.
2. ===연산자
1 === 1 // true
1 === '1' // false
1 === true // false
true === 'true' // false
null === undefined // false
NaN === NaN // false
===연산자는 두 값의 타입이 서로 달라도 변환하지 않고 있는 그대로의 값을 비교하는 방식으로 엄격하게 값을 비교하는 연산자이다. (두 값의 타입이 서로 다르면 자동으로 타입을 반환해 주는 ==연산자와 차이가 있다)
기본적으로 1은 true, 0은 false로 나타낼 수 있지만, 데이터 타입은 다르다.
참고적으로,
NaN(Not a Number) 값은 자기 자신을 포함하여 어떠한 값과도 일치하지 않으므로 NaN 값과 비교하게 되면 항상 false의 값이 반환된다.
'JavaScript' 카테고리의 다른 글
[JavaScript] Optional chaining(?.) & Nullish coalescing(??) (1) | 2024.07.10 |
---|---|
[JavaScript] use strict란? (0) | 2024.05.22 |