[Javascript] 비교 연산자
- 비교연산자
>=, >, <=, < : 대소비교 연산자
- 양쪽 모두 숫자일 때 비교 가능
- 양쪽 모두 문자일 때 문자의 ascii code로 비교 된다.
- 숫자와 문자열 비교시 문자열이 숫자로 형변환이 가능할경우 비교 가능 숫자가 아닐경우 false를 return
- null 일경우 비교 가능 NaN이나 undefined는 다르다
- 불린값 비교 가능
- Date값 비교 가능
2 > 1 true
2 > '1' true
1 > "" true
'ab' > 'a' true
1 > null true
1 > NaN false
1 > undefined false
true > false true
== : 동등비교 연산자
(좌항과 우항의 값을 비교한다.)
- null과 undefined는 같다.
- 양쪽 모두 숫자일 때
- 양쪽 모두 문자일 때
- 한쪽이 숫자이고 다른 한쪽이 문자열이며 숫자로 형변환이 가능할 때
- 불린값 비교 가능 (true는 1, false는 0과 같다)
- Date값 비교 가능
null == undefined true
1 == 1 true
"a" == "a" true
1 == "1" true
true == true true
true == 1 true
false == 0 true
=== : 일치비교 연산자
(좌항과 우항의 값과 데이터 타입을 비교한다.)
- null과 undefined는 다르다.
- null과 null, undefined와 undefined는 같다
- 양쪽 모두 숫자일 때
- 양쪽 모두 문자일 때
- 한쪽이 숫자이고 다른 한쪽이 문자열이며 숫자로 형변환이 가능해도 다르다
- 불린값 비교 가능 (true는 1, false는 0과 같지 않다)
- Date값 비교 가능
null === undefined false
null === null true
undefined === undefined true
1 === "1" false
"1" === "1" true
1 === 1 true
true == true true
true === 1 false
* 값을 비교할 때 값만 비교하는 동등비교 대신 값의 타입까지 비교해주는 일치비교 연산자를 쓰는것을 권장한다. *