비교 연산자(Comparisons)
> // greater than
< // less than
>= // greater than or equal to
<= // less than or equal to
== // 이중 등호, equality
두 값이 같다면 타입을 구분하지 않는다. 같은 타입으로 구분하면 비교만 하기 때문에 문제되지 않는다.
하지만 두 값이 다른 타입이면 같아지도록 강제로 변환한다. 따라서 예상과 다른 결과가 나올 수 있다.
5 == 5; // true
‘b’ == ‘c’; // false
7 == ‘7’; // true
0 == ‘ ’; // true
true == false // false
0 == false; // true
null == undefined; // true
!= // not equal
타입을 구분하지 않는다.
1 != 2; // true
1 != ‘1’; // false
=== // 삼중 등호, strict equality(엄격한 동등 연산자)
타입을 구분하고 값과 타입 모두 비교한다. 또한 같은 타입으로 변환하는 과정을 거치지 않는다.
5 === 5; // true
1 === 2; // false
2 === ‘2’; // false
false === 0;// false
!== // strict non-equality
타입을 구분한다.
1 !== ‘1’; // true
** 값을 비교할 땐, 항상 삼중등호를 사용하자. ===,!==