2013-07-11 84 views
1

我有一个对象,使用属性时,其中一个属性prop2将在稍后进行初始化并在其准备就绪时添加到此对象中。在JavaScript中初始化对象的空属性的正确方法是什么

我想把它作为纯粹为了人类可读性的对象的一个​​属性来展示,这样当我看到代码后我会知道它存在并且可以被使用。

所以我的问题是什么东西:

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

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

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

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

+0

类型在javascript中并不重要,因为您可以随时通过为该对象提供某个类型的值等来更改该类型,因此只需将其设置为空字符串即可,但这取决于您打算使用它,当我打算稍后检查它们时,我经常将属性设置为false。 – adeneo

回答

5

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

2

通常的方法是使用null

undefined也可以工作,但a)它更长b)它不是关键字c)太多的人使用typeof来测试财产存在。它也has a little different notion

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

+0

感谢您的链接:我喜欢他们对该链接的评论,这将帮助我记住它 - “未定义的是缺乏一个类型和值,而null表示没有价值。“ - – Andre

相关问题