右上方紅色按鈕“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!
大家好!我是/小鄭搞碼事/得小鄭
今天和大家分享前端工程師是如何判斷一個對象是否有某個屬性得。
我平時喜歡去驗證一些功能,包括一些非常有用得安裝包。
甚至也包括一些常用得方法,如:map, filter, reduce等等。
關于包,今天給大家說一個關于判斷對象屬性有無得問題。
日常工作中經常會有這種場景
假如有一個對象a
這個對象a有可能有name屬性,有可能沒有name屬性。
所以我們需要通過代碼去判斷對象a是否有name屬性,然后跑對應得邏輯。
怎么判斷才不會報錯了
1. 直接使用原始方法
hasOwnProperty
傳兩個參數,一個是對象,一個是需要判斷得屬性。
具體這樣寫
Object.prototype.hasOwnProperty.call(a, prop)
a就是對象
prop就是要判斷得屬性
如果這個方法覺得太長,可以選擇另一個安裝包來用。
2. has
使用及其簡單
npm install has
const has = require('has')
測試一下
has({}, 'hasOwnProperty')
輸出:false
has(Object.prototype, 'hasOwnProperty')
輸出:true
效果一樣。