instanceof原理是什么,请写代码表示
Posted 沿着路走到底
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了instanceof原理是什么,请写代码表示相关的知识,希望对你有一定的参考价值。
instanceof 的原理
例如 f instanceof Foo
顺着 f.__proto__ 向上查找(原型链)
看能否找到 Foo.prototype
代码
/**
* @description 手写 instanceof
*/
/**
* 自定义 instanceof
* @param instance instance
* @param origin class or function
*/
export function myInstanceof(instance: any, origin: any): boolean
if (instance == null) return false // null undefined
const type = typeof instance
if (type !== \'object\' && type !== \'function\')
// 值类型
return false
let tempInstance = instance // 为了防止修改 instance
while (tempInstance)
if (tempInstance.__proto__ === origin.prototype)
return true // 配上了
// 未匹配
tempInstance = tempInstance.__proto__ // 顺着原型链
以上是关于instanceof原理是什么,请写代码表示的主要内容,如果未能解决你的问题,请参考以下文章