2023年3月27日 星期一

注意 in 搭配數字時 delete 和直接給 undefiend 的不同

 注意 in 搭配數字時 delete 和直接給 undefiend 的不同

前言

  在之前的 hasOwn() 與 in 搭配數字使用的意義 提過 in 搭配數字使用的意義,但實際使用後發現有個注意事項,在此做個紀錄。


內容

  範例如下

const ar = [ 1 , 2 , 3 , 4 , undefined];
//
console.log( 4 in ar);//true
console.log( Object.hasOwn( ar, 4) );//true
delete ar[4];
console.log( 4 in ar);//false
console.log( Object.hasOwn( ar, 4) );//false


範例開始直接對 ar[4] 做 in ,結果是 true ,但是如果經過 delete 後,結果就會變成 false ,要注意直接給 undefiend 跟 delete 的意思是不同的!


參考資料

[ developer.mozilla.org ] in operator

[ developer.mozilla.org ] Object.hasOwn()


相關文章與資料

hasOwn() 與 in 搭配數字使用的意義

沒有留言:

張貼留言