instanceof
instanceof 用于判斷某個物件是否是另一個物件(構造方法)的實體,instanceof會查找原型鏈,直到null如果還不是后面這個物件的實體的話就回傳false,否則就回傳true
1 function instanceofFunc(obj, cons) { 2 // 錯誤判斷 建構式必須是一個function 其他的均報錯 3 if (typeof cons !== 'function') throw new Error('instance error') 4 if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) return false 5 // 獲取到原型物件 6 let proto = cons.prototype 7 // 如果obj的原型物件不是null 8 while (obj.__proto__) { 9 if (obj.__proto__ === proto) return true 10 obj = obj.__proto__ 11 } 12 return false 13 } 14 15 console.log(instanceofFunc(() => {}, Function)) // true
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/174707.html
標籤:JavaScript
