为什么是Object.assign()而不是this.assign()(对于对象)?

时间:2019-04-04 12:44:47

标签: javascript object

我正在一个JavaScript项目上,只是想知道为什么对象实例不继承assign()和其他方法,而不必调用超类(superobject?)Object方法。

为什么是Object.assign()而不是this.assign()(对于对象)?

1 个答案:

答案 0 :(得分:0)

由于继承在Javacript中的工作方式。引用自

https://codeburst.io/javascript-for-beginners-the-new-operator-cee35beb669e

  

使用new时,会发生四件事:

     
      
  1. 它将创建一个新的空对象。
  2.   
  3. 它将其绑定到我们新创建的   宾语。
  4.   
  5. 它将一个属性添加到我们新创建的对象中,该对象称为   “ proto ”,指向构造函数的原型   宾语。
  6.   
  7. 它将返回值添加到函数的末尾,以便   函数会返回创建的对象。
  8.   

因此,超级对象方法不会复制到新对象。通过新创建的对象的原型可以访问它们。