hasOwn() 與 in 搭配數字使用的意義
前言
最近發現 hasOwn() 與 in 都可以搭配數字使用,抽個空作個學習,在此做個紀錄。
內容
範例如下
const ar = [ 1 , 2 , 3 , 4 , undefined]; // console.log( 2 in ar);//true console.log( Object.hasOwn( ar, 2) );//true // console.log( 4 in ar);//true console.log( Object.hasOwn( ar, 4) );//true // console.log( 5 in ar);//false console.log( Object.hasOwn( ar, 5) );//false // console.log( -1 in ar);//false console.log( Object.hasOwn( ar, -5) );//false
hasOwn() 與 in 搭配數字使用時,意思接近於詢問陣列是否可以接受輸入的索引值,範例開頭用 2 當索引值可以得到 true ,第二個例子測試當該數值是 undefiend 是否有效,答案是有效的,接著當索引值是 5 ,也就是超出 ar 這個陣列最大索引值時,結果會是 fasle ,最後範例實驗了當索引值是負值時是否有效?結果是無效的!這個搭配數字的用法個人覺得實在不實用,但有又因為是標準用法,所以還是要認識一下。
參考資料
[ developer.mozilla.org ] in operator
[ developer.mozilla.org ] Object.hasOwn()
沒有留言:
張貼留言