티스토리 뷰

비교 연산자

javascript는 비교에 있어서 2가지 비교 방법이 있습니다.

2가지 비교방법은 엄격한 비교(일치 비교)와 형변환 비교(동등 비교)입니다.

 

==와 ===, !=와 !==는 비슷해 보이지만 자세히 보면 서로 다른 연산자입니다.

 

동등 연산자 (==)

두 피연산자의 자료형을 일치시킨 후, 엄격하게 비교를 수행합니다.

  1   ==  1        // true
 "1"  ==  1        // true
  1   == '1'       // true
  0   == false     // true
  0   == null      // false

  0   == undefined // false
null  == undefined // true

 

부등 연산자 (!=)

두 피연산자의 자료형을 일치시킨 후, 엄격하게 비교를 수행합니다.

1 !=   2     // true
1 !=  "1"    // false
1 !=  '1'    // false
1 !=  true   // false
0 !=  false  // false

 

일치 연산자 (===)

자료형 변환 없이 두 피연산자가 엄격히 같은지 판별

3 === 3   // true
3 === '3' // false

 

불일치 연산자 (!==)

자료형 변환 없이 두 피연산자가 엄격히 같은지 판별
두 피연산자가 같지 않거나, 같은 자료형이 아닐 때 true를 반환

3 !== '3' // true
4 !== 3   // true

 

정리

동등 비교 연산자(==, !=)와 일치 비교 연산자(===, !==)의 가장 큰 차이점은 형변환 후에 비교하는지의 여부입니다.
동등 비교 연산자(==, !=)는 먼저 형변환을 해서 두 피연산자의 자료형을 일치시킨 뒤, 서로 같은지 비교를 진행합니다.


그러나
일치 비교 연산자(===, !==)는 형변환을 하지 않은 상태에서 두 피연산자가 서로 같은지 비교를 진행합니다.
일치 비교 연산자(===, !==)는 두 피연산자의 자료형까지 모두 일치/불일치해야하는 경우에 사용하면 좋습니다.

 

참고

비교 연산자 - JavaScript | MDN

댓글