본문 바로가기
javascript

관계연산자, 동등/부등/일치/불일치 연산자

by rami_ 2021. 9. 2.

관계연산자

 >, <, <=, >=

 instanceof 연산자

 in 연산자

 

>연산자

greater-than

양쪽이 Number타입일 때 왼쪽이 오른쪽보다 크면 true반환 아니면 false반환.

String 타입 비교 : 한쪽이 string타입이면 false, 양쪽이 모두 string타입이면 유니코드 사전(등록) 순서로 비교함. 문자 하나씩 비교

log("A07" > "A21"); // 먼저 처음에 있는 "A"와 "A"를 비교함. 동일하므로 넘어감. "0"과 "2"를 비교 2가 더 크므로 false임. "7"과 "1"은 비교하지 않음. 앞에서 비교가 끝났기 때문.

<, <=, >=와 비교기준만 다름.

 

 

동등연산자 ==

왼쪽과 오른쪽이 같으면 true, 다르면 false

값의 타입은 비교하지 않음. 1과 "1"이 같음.

log(1 == "1"); //값 타입이 다르면 "문자:숫자", "숫자:문자"일 경우 문자 타입을 숫자 타입으로 변환하여 비교함.

둘다 1이므로 true 반환.

var value;

log(value == null); //true,  value를 선언만하고 값을 주자 않았기 때문에 undefined가 값이됨. undefined와 null이 다른데도 true가 됨.

 

부등연산자 !=

왼쪽과 오른쪽 값이 다르면 true, 같으면 false

a ! = b와 !(a == b)가 같음.

 

일치연산자 ===

왼쪽과 오른쪽의 값과 타입이 모두 똑같으면 true, 값 또는 타입이 다르면 false

1 === 1 //true

1 === "1" //false

var value;

log(value == null); //true, undefined와 null의 값이 같다고 봄

log(value === null); //false, 값이 같지만 타입이 다르므로 false.

 

먼저 ===로 비교한 다음 ==로 비교하는 것이 좋음.

 

불일치 연산자 !==

값 또는 타입이 다르면 true

같으면 false