나를 포함한 많은 사람들이 double equals
와 triple equals
의 차이에 대해서
double equals
은 값을 비교한다.triple equals
은 값과 자료형 모두 비교한다.이렇게 알고 있는 경우가 많다. 하지만 이 정보는 완전히 잘못된 정보이다.
== vs ===
두 가지의 차이점은 Type coercion (암묵적 형변환)에 있다.
double equals
은 (필요할 경우) 암묵적으로 형변환 과정을 거친 후, 값을 비교한다.triple equals
은 형변환 과정 없이, 값을 비교한다.사용 권장 컨벤션
특별히 꼭 사용해야만 할 이유가 있는게 아니라면,triple equals
의 사용을 항상 강력하게 권장된다.
기초적인 상식이지만, 잘못된 상식으로 인한 사소한 실수가 코드의 해석, 작성을 방해하는 경우가 더러 생길 수 있으니 바로잡고 가자는 취지에서 작성하게 되었다. 놓치지 말자.