javascript - 为什么是 Object.assign() 而不是 this.assign() (对于对象)?
问题描述
我正在开发一个 JavaScript 项目,只是想知道为什么对象实例不继承 theassign()
和其他方法,而不必调用超类(超对象?)Object
方法。
为什么是 Object.assign() 而不是 this.assign() (对于对象)?
解决方案
因为继承在 javacript 中的工作方式。引用自
https://codeburst.io/javascript-for-beginners-the-new-operator-cee35beb669e
当你使用 new 时,会发生四件事:
- 它创建了一个新的空对象。
- 它将 this 绑定到我们新创建的对象。
- 它在我们新创建的对象上添加了一个名为“<strong>proto”的属性,该属性指向构造函数的原型对象。
- 它将 return this 添加到函数的末尾,以便从函数返回创建的对象。
所以超级对象方法不会被复制到新对象中。它们可以通过新创建的对象的原型访问。
推荐阅读
- java - 如何在数字前对字母数字字符串进行排序(升序)
- asp.net - 防止 Infragistics 使用 ig_common
- android - 如何强制我的 android 应用使用 ipv4 而不是 ipv6?
- python-3.x - 为什么 sklearn 归一化数据的方差不等于 1?
- vba - 根据位置保存和重命名文件
- kubernetes - 如何访问 pod 中的磁盘设备?
- angular - 身份验证用户中的问题“第一个参数”电子邮件“必须是一个有效的字符串”离子
- linux - 编辑 VM 选项文件后 Intellij IDEA 不启动
- python - KeyError: '1' 在处理上述异常的过程中,发生了另一个异常:
- python - Python Socket - [Errno 35] 资源暂时不可用