首页前端开发正文

每一个对象都会从原型“继承”属性,但这个“继承”的说法具有迷惑性

朱绪2021-11-01665JavaScript

每一个JavaScript对象(除了null)在创建的时候都会关联另一个对象,这个对象就是所谓的“原型”。每一个对象都会从原型“继承”属性。

但这个继承真的是继承吗?

实际上,继承是一个具有迷惑性的说法。

引用《你不知道的JavaScript》中的话,

继承意味着复制操作,然而JavaScript默认并不会复制对象的属性,相反,JavaScript只是在两个对象之间创建一个关联,这样,一个对象就可以通过委托访问另一个对象的属性和函数。

所以相较于继承,委托的说法反而更准确些。