== 과 === 에 차이와 문제점
자바 스크립트를 처음 접하게 될때, ==과 ===에 차이를 몰라서 헤멘적이있다. (물론 습관적으로 ==으로 쓴 경우도 있다.) 특정 상황을 제외하고는 둘 다 같은 값을 리턴한다. 두 연산 모두 boolean값을 리턴하기 때문에, if문 안에 사용한다. 하지만 특정상황에서는 원하는 값이 아닌 다른값이 리턴되기 때문에 주의 해야한다. 자바에서 ==과 equal가 다른것과는 다르다. == 와 ===이 차이를 간략하게 말하자면 type을 체크하냐 하지 않느냐에 차이인데, 이게 뜻하는 것을 알아보면 다음과 같다.
==을 쓸 경우 거짓을 기대하지만 참인 것들
0 == ''
0 == '0'
false == '0'
null == undefined
'\t\r\n' == 0
다음 값들은 거짓을 기대하지만 참을 리턴하기 때문에 프로그램에 문제를 줄 수 있다.
가능하면 == 대신 ===을 != 대신 !== 을 사용하는것 이 더 낫다.