본문 바로가기
JavaScript

[JavaScript] == 연산자와 === 연산자 차이

by prometedor 2024. 3. 14.

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