==
(동등 연산자, Equality Operator) 은 값을 비교하고, ===
(일치 연산자, Strict Equality Operator)은 type 비교를 같이 한다.
==
7 == '7' // true
1 == true // true
null == undefined // true
Boolean('false') == 1 // true
===
7 == '7' // false
1 == true // false
null == undefined // false
Boolean('false') == 1 // false
===
연산자는 일치성을 비교하므로 타입 변환에 의해 예상치 못한 결과를 초래할 가능성이 줄어든다.
따라서 값 만을 비교하는 경우에==
을 사용해도 되지만, 의도치 않은 결과가 나올 수 있으니 주의해야 한다.
정확한 일치성을 확인해야 할 때에는===
을 사용하는 것이 좋겠다.