原文:typeof null 為什么等於 object?

之前只知道typeof null object,但是卻從來不知道是為什么。最新查閱資料的時候,看到了這個原理,記錄下來,方便自己以后查看。 原理是這樣的,不同的對象在底層都表示為二進制,在 JavaScript 中二進制前三位都為 的話會被判斷為 object 類型, null 的二進制表示是全 ,自然前三位也是 ,所以執行 typeof 時會返回 object 。 這個bug是第一版Javas ...

2017-07-25 10:24 0 6137 推薦指數:

查看詳情

為什么typeof nullobject呢?

typeof null輸出object,是JS存在的一個悠久的bug. 原因在於JS初始版本使用的是32位系統,為了性能考慮使用低位存儲變量的類型信息,而000開頭代表的是對象,null表示全零,所以對象的類型被誤判為object.雖然現在的內部類型判斷代碼已經改變了,但是對於這個Bug缺一直流傳下來了 ...

Tue Apr 14 00:06:00 CST 2020 0 1354
你真的知道typeof null的結果為什么是‘object‘嗎?

到目前為止,ECMAScript 標准中定義了8種數據類型,它們分別是Undefined、Null、Number、Boolean、String、Symbol、BigInt、Object。 為了判斷變量的數據類型,JavaScript還提供了typeof操作符。 數據類型中的值通過typeof操作符 ...

Fri Feb 19 22:52:00 CST 2021 2 512
typeof運算對於null會返回“Object"

您也許會問,為什么 typeof 運算符對於 null 值會返回 "Object"。這實際上是 JavaScript 最初實現中的一個錯誤,然后被 ECMAScript 沿用了。現在,null 被認為是對象的占位符,從而解釋了這一矛盾,但從技術上來說,它仍然是原始值。 對變量或值調用 ...

Sat May 18 02:19:00 CST 2019 0 481
為什么 執行typeof null時會返回字符串“object”?

為什么 執行typeof null時會返回字符串“object”? 原理是這樣的。不同的對象在底層都表示為二進制,在javascript中二進制前三位都為0的話會被判斷為object類型, null的二進制表示全0,自然前三位也是0,所以執行typeof時會返回“object” ...

Fri Sep 07 22:07:00 CST 2018 0 881
【譯】typeof null的前世今生

更新時間2013-11-05:為了更好的解釋為什么typeof null的結果是object,我看了一下C代碼的實現(譯者注:Javascript源碼)。 在Javascript語言中,typeof null的結果是object。這樣就會錯誤的認為null ...

Sat Jun 13 04:51:00 CST 2015 6 2931
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM