我正在一个JavaScript项目上,只是想知道为什么对象实例不继承assign()
和其他方法,而不必调用超类(superobject?)Object
方法。
为什么是Object.assign()而不是this.assign()(对于对象)?
答案 0 :(得分:0)
由于继承在Javacript中的工作方式。引用自
https://codeburst.io/javascript-for-beginners-the-new-operator-cee35beb669e
使用new时,会发生四件事:
- 它将创建一个新的空对象。
- 它将其绑定到我们新创建的 宾语。
- 它将一个属性添加到我们新创建的对象中,该对象称为 “ proto ”,指向构造函数的原型 宾语。
- 它将返回值添加到函数的末尾,以便 函数会返回创建的对象。
因此,超级对象方法不会复制到新对象。通过新创建的对象的原型可以访问它们。