说起原型和原型链,我脑子想到就只有__proto__和prototype以及原型向上一级一级查属性的“阶梯图”。对于不常用的理论知识,我敢保证80%的前端和我患有一样的病——健忘症!

谈谈对js原型和原型链的理解!-Qui-Note

今天偶读掘金大佬《面不面试的,你都得懂原型和原型链》,再次刷新了关于原型和原型链的知识点:

1.原型和原型链只会出现在JS的“引用类型”上;

2.常见的引用类型:Object、Array、Function、Date、RegExp;

3.引用类型都具有对象特性,即可自由扩展属性。

4.引用类型都有一个隐式原型 __proto__ 属性,属性值是一个普通的对象。

隐式原型 __proto__ 的属性值 指向 它的构造函数的显式原型 prototype 属性值。

5.原型链:引用类型通过__proto__ 属性指向创建它的prototype原型对象,原型对象也通过__proto__ 属性指向生成它的原型,就这样一级一级的指向,直到Object.prototype也通过__proto__ 属性去指向原型时,找不到出现null为止!这个过程就是 原型链!
谈谈对js原型和原型链的理解!-Qui-Note

哦,发现看了很多遍原型和原型链的我,对这个知识点理解越来越深了,慢慢的形成了自己对其看法和理解,就如开头我想到的最直接的,可能那就是原型和原型链在我脑海留下的印象,不过现在就新增了上面的5处!