我有一个带有属性的对象,其中一个属性prop2
只会在以后初始化并在准备就绪时添加到此对象中。
我想将它显示为对象的属性,纯粹是为了人类的可读性,因此当我稍后查看代码时,我将知道它存在并且将/可以使用。
所以我的问题是:
初始化对象的空属性的正确方法是什么? 在JavaScript中
myObject = {
prop1: 'somevalue',
prop2: '' <---- ''|null|undefined|false|0|{} what is correct
}
我假设它取决于将使用的类型,我意识到任何实际工作,我对最佳实践方式感兴趣。
Fiddler: http://jsfiddle.net/gamelodge/DWCEa/
答案 0 :(得分:5)
我通常会将null
用于此目的。它与undefined
(不存在)不同,并且满足变量存在但没有值的要求。
答案 1 :(得分:2)
通常的方法是使用null
。
undefined
也可以,但是a)它更长b)它不是关键字c)太多人使用typeof
来测试属性存在。它还has a little different notion。
正如您所说,根据预期的类型,您可以使用任何其他适当的值。空对象或字符串不那么方便,特别是因为对象有很多构造开销。如果您以后不打算使用(延伸)它们,请不要使用它们。