js 对象去除undefined_undefined和null区别
一、奇怪點
有點奇怪的是,JavaScript語言居然有兩個表示"無"的值:undefined和null。這是為什么?
二、歷史原因
1995年JavaScript誕生時,最初像Java一樣,只設置了null作為表示"無"的值。根據C語言的傳統,null被設計成可以自動轉為0。
但是,JavaScript的設計者,覺得這樣做還不夠,主要有以下兩個原因。
null像在Java里一樣,被當成一個對象。但是,JavaScript的數據類型分成原始類型(primitive)和合成類型(complex)兩大類,作者覺得表示"無"的值最好不是對象。
JavaScript的最初版本沒有包括錯誤處理機制,發生數據類型不匹配時,往往是自動轉換類型或者默默地失敗。作者覺得,如果null自動轉為0,很不容易發現錯誤。
三、具體區別
JavaScript的最初版本是這樣區分的:null是一個表示"無"的對象(空對象指針),轉為數值時為0;undefined是一個表示"無"的原始值,轉為數值時為NaN。
js的重要性
js可以說是前端的核心了。不管是node,還是各種前端框架vue、react,還是js的超級typescript,都是以js為核心延展的。任何框架都會過時,但js不會。想想曾經的霸主jQuery,現在前端招聘要求中已經快沒有它的身影了。但閉包、作用域鏈、原型鏈,還是前端面試的必問點。
靜下心來去學習吧,除了知識的廣度,知識的深度更重要。在如今的市場上,什么都只是了解皮毛的人,遠遠沒有那個對某個技術特別精通的人吃香。就好比慕容復和喬峰:慕容復什么武功都了解一點,但永遠也打不贏只會降龍十八掌的喬峰。
世間萬物都是相同的,能把一件事做到極致的人,再做其它事也是舉重若輕的。同理:我們能把js學透,再去學其它框架都是輕而易舉的事了
總結
以上是生活随笔為你收集整理的js 对象去除undefined_undefined和null区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python守护线程错误 退出子线程_请
- 下一篇: python解释器有哪几种_Python