判斷乙個變數為undefined的正確姿勢

2021-08-18 22:57:49 字數 414 閱讀 7215

日常開發中,經常使用if(obj.prop),來判斷,

這裡運用的是如果obj.prop不是falsy值,那麼這個判斷語句將會執行,

但是如果obj.prop為0、false或者空字串不屬於我們想要的判斷條件內,

那麼用falsy判斷將會造成錯誤,

可以用如下方法嚴謹的判斷:

obj.prop!==undefined:直接和undefined作比較typeof obj.prop!=='undefined':驗證屬性值的型別obj.hasownproperty('prop'): 驗證屬性是否為物件的自身屬性'prop' in obj: 驗證屬性是否為物件自身或繼承的屬性

建議使用『in』方法。

判斷乙個變數是否為陣列

1 var array new array 1 2 3 4 5 console.log array instanceof array true 2 var array new array 1 2 3 4 5 console.log array.constructor array true 3 fun...

js判斷乙個變數是否為陣列

var ary 1,23,4 console.log ary.proto constructor array true console.log ary.constructor array true 這兩段 是一樣的有侷限性 var ary 1,23,4 console.log ary instanc...

shell判斷乙個變數是否為空

1.最直接簡單的判斷 a echo a is null 不用那些if語句了,直接縮短 量。2.變數通過 引號引起來 如下所示 可以得到結果為 is null.bin sh a if n a then echo is null else echo not null fi3.直接通過變數判斷 如下所示 ...