- 자바스크립트의
typeof null
이 "object"를 반환하는 것은 1995년부터 이어져 온 역사적인 버그입니다. 🐞 - 이 버그는 초기 자바스크립트의 C언어 유니온 구현 방식과 널 포인터의 내부 표현 방식 때문에 발생했습니다. 🏛️
typeof
연산자는 내부 태그를 확인하는데, 널의 내부 태그가 객체의 태그와 같았기 때문에 오류가 발생했습니다. ⚠️- 이 버그는 호환성 문제로 인해 현재까지 수정되지 않고 있습니다. 수많은 웹사이트와 코드가 이 동작에 의존하고 있기 때문입니다. 🌐
- 따라서 개발자는
typeof
연산자 대신 엄격한 동등 비교(===
)를 사용하여 널을 확인해야 합니다. ⚖️ - 이 사례는 초기의 작은 결정이 장기적으로 큰 영향을 미칠 수 있음을 보여줍니다. ⏳