javascript null条件表达式

Sha*_*ean 6 javascript operators null-coalescing-operator

可能重复:
javascript的null合并运算符?

在C#中,您可以这样做:

var obj = newObject ?? defaultObject;
Run Code Online (Sandbox Code Playgroud)

这表示,分配newObjectobj如果没有别的空分配defaultObject.我如何用javascript写这个?

Sam*_*son 6

虽然它被认为是滥用,但您可以执行以下操作:

var obj = newObject || defaultObject;
Run Code Online (Sandbox Code Playgroud)

请注意,如果newObject是任何有价值的值(例如0或空字符串),defaultObject将返回为值obj.考虑到这一点,可能优选使用三元运算符或标准if语句.

var obj = ( "undefined" === typeof defaultObject ) ? defaultObject : newObject ;
Run Code Online (Sandbox Code Playgroud)