{}、new Object()、Object.create的区别

作者: tww844475003 分类: 前端开发 发布时间: 2022-07-09 23:42

主要区别

{} 和 new Object() 除了本身创建的对象,都继承了 Object 原型链上(Object.protoperty)的属性和方法,如:toString();当创建的对象相同时,{} 等价于 new Object();

Object.create() 是创建对象继承到原型链上,而本身没有继承 Object.prototype 的属性和方法。

终上测试结论:

  • {}、new Object() 创建的新对象的原型指向的是 Object.prototype
  • Object.create() 创建的新对象并没有新建的属性和方法,而原型指向的对象中的属性和方法

空对象创建

终上测试结论:

  • {}、new Object() 创建的不是一个干净的对象,继承了内置对象 Object
  • Object.create(null) 创建的是一个干净的对象,没有原型。
前端开发那点事
微信公众号搜索“前端开发那点事”

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注