2012-10-18 50 views
0

有沒有更簡單的方法可以做到這一點?如果未定義,則指定

if (!someVar) { 
    someVar = defaultVar; 
} 

我知道這一點:

someVar = someVar || defaultVar; 

但我不喜歡這裏someVar複製。任何其他想法?

+0

這是不好的做法,因爲如果它是假的,它將重新分配一些變量,而不僅僅是未定義。 –

+0

不需要。你需要一次的條件和一次的任務 – Bergi

+0

@Asad:否 - 它取決於'somevar'的預期類型。對於這個對象,這是默認的做法,對於布爾值,你當然會檢查typeof someVar, – Bergi

回答

0

不幸的是,javascript不支持||=的方式,所以下面是最短的。

someVar = someVar || defaultVar;