如何区分继承属性拷贝限制?为何Object.assign无法复制原型链上的原始方法?
- 内容介绍
- 相关推荐
本文共计657个文字,预计阅读时间需要3分钟。
`Object.assign()` 不复制原型链上的属性,因为它仅遍历并复制对象自身的自有属性(即拥有 `own`、`enumerable` 属性的属性)。继承自原型的属性不属于自身属性,因此不会被复制。
它只读取对象自身的属性描述符
JavaScript 中每个对象都有一个内部属性 [[Prototype]],指向其原型。原型上的方法或属性是通过属性查找机制“访问到”的,但并非存在于该对象实例上。
本文共计657个文字,预计阅读时间需要3分钟。
`Object.assign()` 不复制原型链上的属性,因为它仅遍历并复制对象自身的自有属性(即拥有 `own`、`enumerable` 属性的属性)。继承自原型的属性不属于自身属性,因此不会被复制。
它只读取对象自身的属性描述符
JavaScript 中每个对象都有一个内部属性 [[Prototype]],指向其原型。原型上的方法或属性是通过属性查找机制“访问到”的,但并非存在于该对象实例上。

