비교 연산자

김하은·2023년 4월 21일
0

크다, 작다, 같다, 작거나 같다, 크거나 같다, 같지 않다를 표현하는 연산자를 비교연산자 라고 한다.

자바스크립트에서 같음을 나타내는것은 등호 두개로 나타내는데 같지 않다는 할당 연산자 앞에 느낌표 를 붙여 나타낸다(!=)

비교 연산자의 반환값

비교연산자의 반환값은 boolean 형이다.
true면 비교가 참이라는 의미를
false면 거짓이라는 의미를 반환한다.

해당 결과들을 변수에 할당하는것도 가능하다.


문자열의 비교

문자열 비교도 가능하다.
어떻게 비교하는지 궁금할 텐데 모던 자바스크립트에서는 사전 순으로 비교한다고 한다.
그러나 정확히는 유니코드순이다.
대소문자를 따지며 소문자의 아스키코드가 더 크다.

서로 다른 형을 가진 값 간의 비교도 가능하다.
비교하려는 값의 자료형이 다르다면 자바스크립트에서는 이 값들을 숫자로 바꾼뒤 비교한다.

불린값 true는 1로,
false는 0으로 변환되어 비교된다.


일치 연산자 종류

엄격한 일치 연산자 === 와 단순한 일치 연산자 == 가 있다.

엄격한 방식은 자료형 동등여부까지 검사하기 때문에 0 과 false를 비교시 false를 반환한다.
반면 단순한 방식에서는 자료형에 관계없이 숫자로 변환한 뒤 검사해 0과 false의 비교라면 false도 0으로 변경해 true를 반환한다.


null 과 undefined의 비교.

둘을 단순 연산자로 비교하면 특별한 규칙에 의해 true가 반환된다.
다만, 엄격한 연산자를 사용한다면 두 값의 자료형이 다르기 때문에 false를 반환한다.

산술 연산자와 기타 비교연산자를 사용해 비교한다면 null은 0으로 undefined는 NaN 로 변하여 비교된다.

동등연산자(단순) 로 null과 undefined를 비교하면 true가 반환되나 그 외 다른값과 이들을 비교한다면 무조건 false를 반환한다.

null == undefined => true
null === undefined => flase

undefined는 다른 값고 비교해도 항상 false이다. NaN으로 변환되어 비교하기때문에 이것이 피연산자가 되면 false일 수 밖에 없다.


엄격한 일치연산자를 사용하지 않는다면 undefined나 null을 피연산자로 넣지 않도록 유의하자!!

0개의 댓글