我曾经和一些在公司中使用JavaScript的专业人士交流过,他们告诉我,即使我想要一个空对象,也不应该使用new
或全局对象{}
来创建一个对象实例,这不是一个好的做法。
var wrong1 = new Object();
var wrong2 = {};
根据他们和公司的标准,正确的方法是这样创建的:
按照标准,如下所示:
var correct = Object.create({});
将一个空对象作为空对象的原型似乎过于复杂甚至毫无意义。是否有人可以解释为什么推荐这样做,或者如果不推荐,为什么不推荐?(可能的优缺点)
{}
是不正确的,对吗?使用Object.create(Object.create({}))
会更好,不是吗?;) - el.pescado - нет войнеnew Object()
and object literal notation?的重复问题。 - Olegfunction create(){return Object.create(create())}
。 - Lee GunnObject.create(null)
。例如,如果你需要某种缓存并且想要避免名称冲突,又不想使用hasOwnProperty
,那么这个方法就很适合。但是Object.create({})
看起来就像是完全多余的。 - Yury Tarabanko