javascript:||双管道操作员替代方案,仅测试未定义

时间:2018-07-18 14:16:12

标签: javascript operators

以下测试是否有更短的记号?

(typeof x != "undefined") ? x : y;

一种x || y,但仅对未定义起作用(而不对假值

类似于C#的??

2 个答案:

答案 0 :(得分:1)

实际上,这个问题应该改写,因为javascript中是否有空合并运算符?

答案是不,不是现在,但是应该很快就会到来。请参阅提案hereimplementation status here

Is there a "null coalescing" operator in JavaScript?

答案 1 :(得分:-1)

如果确定未定义永远不会被覆盖,则可以使用x === undefined之类的东西。这将返回truefalse,您可以对其进行测试。