2023年3月20日 星期一

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

 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()


沒有留言:

張貼留言