首页 > 解决方案 > Object.create({}) 之间的区别 {}

问题描述

抱歉,这个问题可能有重复,但{}很难搜索,或者没有人这样问过。和有什么区别:

var a = {};

var b = Object.create({});

使用 Google Dev Tool 看起来非常相似(即使使用dir(a), dir(b)

标签: javascript

解决方案


对象字面{}量创建一个Object.prototype以原型为原型的对象。

Object.create(x)函数调用创建了一个具有x原型的对象。

因此Object.create({})将创建一个对象,该对象具有一个空对象作为其原型,而该对象又Object.prototype作为其原型。这是非常无用的,通常应该避免这种情况。


推荐阅读