前端面试JS手写题解析系列5——实现instanceOf
958
2023.03.22
2023.03.29
发布于 未知归属地

手摸手解析JS手写面试题题系列5——实现instanceOf

关注程序员耳东,编程转码真轻松

考点:原型链、递归

防杠指南:本文不适用于资深大佬,若喷必回

这篇笔记聊聊如何手动实现JavaScript里面的instanceOf运算符,对,它不是方法而是一个运算符

instanceOf运算符我们经常用来判断一个对象是否为某个构造函数的实例,比如下面这个用法:

image.png

它的原理其实很简答粗暴,就是检查构造函数的 prototype 属性是否出现在这个实例对象的原型链上

比如说上面这个例子,如果用一张图来画出原型链的关系,是这样的:

image.png

那么我们实现起来就很简单了,只需要顺着实例对象的原型链一直往上找,并且比对构造函数是否在原型链上就行了

但是这里面需要注意一个问题,原型链的顶点是null,需要做判空处理,代码如下:

image.png

总结

这个手写题还是比较简单的,主要是考察了原型链的知识和递归

评论 (1)