티스토리 뷰

반응형

비교 연산자

==와 ===, !=와 !==는 비슷해 보이지만 자세히 보면 서로 다른 연산자이다.
그동안은 둘의 차이를 잘 모르는 상태에서 그냥 사용했지만, 오늘은 이에 대해 알아보도록 한다.

javascript는 엄격한 비교(일치 비교)와 형변환 비교(동등 비교)의 두 가지 비교 방법을 가지고 있다.

 

동등 연산자 (==)

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

  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

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함