> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 `typeof null`이 '객체'를 반환하는 이유는 무엇입니까?

JavaScript에서 `typeof null`이 '객체'를 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-03 22:38:09
원래의
735명이 탐색했습니다.

Why Does `typeof null` Return

typeof Null이 기본 유형이 아님에도 불구하고 "객체"를 반환하는 이유는 무엇입니까?

"웹 개발자를 위한 전문 Javascript"를 읽으면서 당혹스러움에 직면합니다: 이 장에서는 기본 요소에 null이 포함되어 있지만 typeof(null)은 "객체"를 생성한다고 설명합니다. 기본 형식은 일반적으로 값으로 전달되고 개체는 참조로 전달되므로 이는 null의 기본 특성과 모순되는 것처럼 보입니다.

형식 조작의 역사적 뿌리

JavaScript의 역사를 자세히 살펴보겠습니다. 이 예외는 언어의 초기 구현에서 비롯된다는 것을 발견했습니다. JavaScript 초창기에는 값이 유형 태그와 값으로 특성화되었습니다. 객체의 유형 태그는 0입니다. NULL 포인터(0x00)로 표시되는 Null에 실수로 유형 태그 0이 할당되었습니다.

Remains of the Past

null과 "object" 유형 태그의 우연한 연결로 인해 잘못된 typeof(null) 결과가 발생했습니다. 언어의 후속 업데이트 및 발전에도 불구하고 기존 코드 중단에 대한 우려로 인해 이 동작이 지속되었습니다.

수정이 ​​제안되었지만 거부됨

이 문제를 해결하기 위한 노력이 이루어졌습니다. typeof(null)을 "null"로 반환하려는 ECMAScript의 선택적 수정을 제안함으로써. 그러나 그 제안은 거절당했다. 이를 구현하면 기존 동작에 의존하는 레거시 코드가 깨질 가능성이 있는 중요한 변경 사항이 도입되었을 것입니다.

현재 상황

결과적으로 독특한 유형의(null) 동작이 남아 있습니다. JavaScript 패브릭 내에 내장되어 있습니다. JavaScript의 유형 조작은 계속해서 미묘하고 역사적으로 영향을 받은 언어 측면으로, 이러한 지속적인 특징이 그 예시입니다.

위 내용은 JavaScript에서 `typeof null`이 '객체'를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿