javascript 비교 연산자, ==,!=

LikeChoonsik's·2022년 1월 10일
0

JavaScript

목록 보기
2/15


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

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

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

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

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

부등 연산자 (!=)
두 피연산자의 자료형을 일치시킨 후, 엄격하게 비교를 수행 불일치시 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

정리
정리하자면 동등 비교 연산자(==, !=)와 일치 비교 연산자(===, !==)의 가장 큰 차이점은 형변환을 하냐 안하냐이다.

동등 비교 연산자(==, !=)는 형변환을 해 두 피연산자의 자료형을 일치시킨 뒤, 서로 같은지 비교를 진행한다.

반면 일치 비교 연산자(===, !==)는 형변환을 하지 않은 상태에서 두 피연산자가 서로 같은지 비교를 진행한다.

따라서 일치 비교 연산자(===, !==)는 두 피연산자의 자료형까지 모두 일치/불일치해야하는 경우에 사용하면 적절할 듯 하다.

profile
춘식이는 너무 귀엽습니다.

0개의 댓글