2.7 정리
동등성과 동일성의 문제는 숙련된 많은 프로그래머를 당황하게 했습니다. 커먼 리스프(Common Lisp) 개발자는 eq, equal, eql, equalp를 구분하여 사용합니다. 스킴(Scheme)에서는 =, eqv?, equal?만 사용합니다. JavaScript에서는 동등성이 전이성을 가지지 않는 것으로 유명합니다. 그림 2-1에서 신학적 삼위일체로 표현되는 JavaScript의 유명한 그림은 전이성이 확보된 파이썬이 상대적으로 얼마나 합리적인지 보여 줍니다. 물론 의도적으로 이를 무시하는 사용자 정의 클래스를 작성할 수 있으며, 이는 공포스러운 결과를 만들어낼 수도 있습니다.

▲ 그림 2-1 JavaScript를 신학적 삼위일체와 비교하는 농담