原子
@xNedKx
Wed, Aug 11, 2021 11:22 AM
JS: Array.isArray vs instanceof Array
稍微看了一下兩邊的差異,前者(isArray)看起來不能靠作弊騙過,準確度高,太舊的瀏覽器(<ES5)不支援。
後者只檢查 prototype chain ,跨 window 辨識物件會失敗。
兩者都能辨識出繼承 Array 的 class ,另外還有靠呼叫物件類別的 toString 輸出等於 '[object Array]' 來辨識的做法。
哪邊比較快可能要自己跑一下才知道了...
載入新的回覆
稍微看了一下兩邊的差異,前者(isArray)看起來不能靠作弊騙過,準確度高,太舊的瀏覽器(<ES5)不支援。
後者只檢查 prototype chain ,跨 window 辨識物件會失敗。
兩者都能辨識出繼承 Array 的 class ,另外還有靠呼叫物件類別的 toString 輸出等於 '[object Array]' 來辨識的做法。
哪邊比較快可能要自己跑一下才知道了...