js當中null和{}區別


{}是一個不完全空的對象,因為他的原型鏈上還有Object呢,而null就是完全空的對象,啥也沒有,原型鏈也沒有,所以null instanceof Object === false;[]就更不用說了,它的原型鏈上還比{}多一個Array。
所以,純粹意義上初始化一個空對象應該用null,{}更像是初始化對象,和new一個沒有key的Obejct是一樣的。

 

還有就是空數組轉換成布爾類型返回的是true:

因為數組(不管是不是空的)屬於對象類型,對象類型轉為boolean類型(內部對應ToBoolean()操作)時都是true。所以判斷數組一般使用的是判斷數組的長度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM