JS中原型链,本质上就是对象之间的关系,通过protoype
和[[Prototype]]
属性建立起来的连接。这种链条是动态的,可以随时变更。
这个就跟C/C++中通过指针建立的关系很相似,比如,通过指针建立一个链表,一个个地址就是通过指针串连起来,产生关系。指针指向变化,就是决定了链表的形态。
JS中原型链最大的作用就是模拟继承,达到代码复用的目的。
MDN上的这篇文章对JS中原型链和继承介绍的很详细
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
但是读起来比较枯燥,尝试将总结下,加强理解。