大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心!
前幾天接手了一個項目,發現有一個 Lodash 的方法在項目里用的非常多!那就是 isObject 這個方法!
我一看到這個方法我就害怕,馬上去找了之前開發這個項目的前端,以下是跟他的對話:
我去翻了翻組內其他項目的代碼,發現只要是判斷普通對象的類型的,都用的是 isObject !!!!!!
我們在學習 JavaScript 基礎的時候會聽到這么一句話萬物皆對象,其實這不是沒有道理的,看過原型鏈圖的會比較理解這句話。
圖片
說回來 isObject,我為什么看到這個方法我就心慌呢?因為以前踩過坑,很多人一直認為isObject是用來判斷對象類型的,其實他們認為的也沒錯,但是他們可能沒好好看 Lodash 的文檔。
圖片
文檔寫著:檢查 value 是否為 Object 的language type。(例如: arrays, functions, objects, regexes,new Number(0), 以及 new String(''))。
圖片
現在知道問題出在哪了吧?大部分人都認為:判斷普通對象可以使用 isObject 來判斷。
但其實這么認為是不對的,因為isObject檢測后返回 true 的類型,可不止普通對象哦!
如果你想要判斷一個值是否為普通對象,可以使用 isPlanObject。
圖片
這樣才能達到我們想要的目的。
本文鏈接:http://www.tebozhan.com/showinfo-26-96996-0.html千萬不要再用錯了這個 Lodash 方法了!可能釀成大禍!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com