Rumah >hujung hadapan web >tutorial js >Mengapa Adakah `typeof(null)` Mengembalikan 'objek' dalam JavaScript?

Mengapa Adakah `typeof(null)` Mengembalikan 'objek' dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-02 01:49:08985semak imbas

Why Does `typeof(null)` Return

Soalan: Mengapa typeof(null) "objek"?

Dalam konteks primitif JavaScript, persoalan timbul tentang mengapa operator jenis (typeof) kembali "objek" untuk nilai null. Logik jenis data primitif mencadangkan bahawa nilai primitif seperti null tidak seharusnya mengembalikan "objek".

Jawapan: Ketidakkonsistenan Sejarah dalam JavaScript

Penjelasan untuk ketidakkonsistenan ini terletak pada pelaksanaan awal JavaScript . Apabila nilai JavaScript diwakili oleh teg jenis dan nilai, null telah diberikan teg jenis 0, serupa dengan teg objek. Perwakilan warisan ini menjadi tertanam dalam tingkah laku JavaScript walaupun terdapat cadangan pembetulan yang akan menukar typeof(null) kepada "null."

Oleh itu, walaupun null dianggap sebagai jenis data primitif dalam JavaScript, pelaksanaannya kekal artifak sejarah yang mengakibatkan typeof(null) mengembalikan "objek" untuk mengekalkan keserasian ke belakang dengan versi bahasa terdahulu.

Atas ialah kandungan terperinci Mengapa Adakah `typeof(null)` Mengembalikan 'objek' dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn