2012-05-28 12 views
6

可能性の重複は:C#ので
null coalescing operator for javascript?javascriptのヌル条件式

、あなたはこれを行うことができます。他にnullでない場合objnewObjectを割り当てると言い

var obj = newObject ?? defaultObject; 

defaultObjectを割り当てます。どのように私はこれをjavascriptで書くのですか? newObjectは(のような0または空の文字列)任意のfalsy価値がある場合、defaultObjectが返されることを

var obj = newObject || defaultObject; 

注:それはabusageを検討している間

+0

ここでこの質問への優れた答えはあります:それは*すべての*のためにdefaultObject' 'になりますよう http://stackoverflow.com/a/476445/1010337 – ActiveDan

答えて

6

、次の操作を行うことができますobjの値として設定します。これを念頭に置いて、三項演算子または標準if文のどちらかを使用することが望ましい場合があります。

var obj = ("undefined" === typeof defaultObject) ? defaultObject : newObject ; 
+0

これは、しかし*若干*異なっています'newObject'のfalse-yの値です。つまり、「直接」同等ではないので、明示的な等価性を持つ三項( '?')は、与えられた意図をよりよく捕捉するかもしれません... –

+0

@pst大きな点。 – Sampson

+0

falsyはブール型を意味しますか? –