2013-07-11 79 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

相關問題