在JavaScript中初始化对象的空属性的正确方法是什么

我有一个带有属性的对象,其中1个属性prop2只会在以后初始化并在准备就绪时添加到此对象中。

我想将它显示为对象的属性纯粹是为了人类的可读性,因此当我稍后查看代码时,我将知道它存在并且将/可以使用。

所以我的问题是:

在JavaScript中初始化对象的空属性的正确方法是什么

 myObject = { prop1: 'somevalue', prop2: '' <---- ''|null|undefined|false|0|{} what is correct } 

我假设它取决于将使用的类型,我意识到任何实际工作,我对最佳实践方式感兴趣。

提琴手: http //jsfiddle.net/gamelodge/DWCEa/

我通常为此目的使用null 。 它与undefined (不存在)不同,并且满足变量存在但没有值的要求。

通常的方法是使用null

undefined也会起作用,但是a)它更长b)它不是关键词c)太多人使用typeof来测试属性存在。 它也有一点不同的概念 。

如您所说,根据预期的类型,您可以使用任何其他适当的值。 空对象或字符串不那么方便,特别是因为对象有很多构造开销。 如果您以后不打算使用(延长)它们,请不要使用它们。