javascript - 简写 if/else 语句 Javascript

标签 javascript shorthand

我想知道是否有更短的写法:

var x = 1;
if(y != undefined) x = y;

我最初尝试过 x = y || 1,但这没有用。正确的做法是什么?

最佳答案

var x = y !== undefined ? y : 1;

请注意 var x = y || 1;将分配 1对于 y 的任何情况是虚假的(例如 false0"" ),这可能就是它对您“不起作用”的原因。另外,如果 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/

相关文章:

javascript - 构造函数使用 ES6 速记符号表现不同

javascript - 翻译令人困惑的条件速记

javascript - "if"双符号速记

javascript - if/else if/else如何简写?

jquery方式的Javascript继承

javascript - 为什么使用 insertBefore() 从友好的 iframe 中提取元素在 IE7 中不起作用?

javascript - 页面刷新后如何保存多个图像?

javascript - 如何使用 queryselector 验证两个输入字段是否已填写?

javascript - 适用于 Javascript 的 Google Webfonts 选择器和嵌入器小部件

css - 速记 CSS 与普通 CSS 不同