instanceof实现

5次阅读
没有评论

instanceof机制:

instanceof是操作符,它会获取判断类型的prototype和对象的__proto__
一直循环遍历对象上的所有原型直到等于判断类型的原型返回true
若遍历到尽头也就是null了还是没结果返回false

实现:

function instanceof (left,right){
  let proto = right.prototype
  left = left.__proto__
  while(true){
	if(left===null||left===undefined) return false // 万物尽头是null
	if(left===proto) return true
	left = left.__proto__ // 往深处挖
  }
}

正文完
 0