美文网首页
instanceof 的原理和实现

instanceof 的原理和实现

作者: 椰果粒 | 来源:发表于2019-06-27 19:54 被阅读0次

instanceof是怎么判断数据类型的

instanceof是通过原型链判断,A instanceof B表示:在A的原型链中一直向上查找,是否有原型等于B.prototype。如果一直找到顶端,仍然没有等于B.prototype的,就返回false。

原生实现一个instanceof

function instance_of(L, R){
    L = L.__proto__;// 隐式原型
    let P = R.prototype;// 显式原型
    while(true){
        if(L === null){
            return false
        }else if(L === P){
             return true
        }
        L = L.__proto__
    }
}
instance_of([], Array) // true
instance_of([], String) // false

相关文章

网友评论

      本文标题:instanceof 的原理和实现

      本文链接:https://www.haomeiwen.com/subject/lcddcctx.html