我想知道是否有更短的写法:
var x = 1;
if(y != undefined) x = y;
我最初尝试过 x = y || 1
,但这没有用。正确的做法是什么?
最佳答案
var x = y !== undefined ? y : 1;
请注意 var x = y || 1;
将分配 1
对于 y
的任何情况是虚假的(例如 false
、 0
、 ""
),这可能就是它对您“不起作用”的原因。另外,如果 y
是一个全局变量,如果它真的没有定义,你可能会遇到错误,除非你以 window.y
访问它。 .
正如 vol7ron 在评论中建议的那样,您也可以使用 typeof
避免需要将全局变量称为 window.<name>
:
var x = typeof y != "undefined" ? y : 1;
关于javascript - 简写 if/else 语句 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9864634/