短音if/else语句Javascript
Shorthand if/else statement Javascript
我想知道是否有一种更短的方法来写这个:
var x = 1;
if(y != undefined) x = y;
我最初尝试了x = y || 1
,但没有成功。正确的方法是什么?
var x = y !== undefined ? y : 1;
请注意,var x = y || 1;
会为任何y
错误的情况分配1
(例如false
、0
、""
),这可能是它对您"不起作用"的原因。此外,如果y
是一个全局变量,如果它确实没有定义,除非您将其作为window.y
访问,否则您可能会遇到错误。
正如vol7ron在评论中所建议的那样,您也可以使用typeof
来避免将全局变量称为window.<name>
:
var x = typeof y != "undefined" ? y : 1;
另一种短时间编写的方法
bePlanVar = !!((bePlanVar == false));
// is equivalent to
bePlanVar = (bePlanVar == false) ? true : false;
// and
if (bePlanVar == false) {
bePlanVar = true;
} else {
bePlanVar = false;
}
y = (y != undefined) ? y : x;
括号没有必要,我只是加上它们,因为我认为这样读更容易。
其他方式是使用短路:
x = (typeof y !== 'undefined') && y || 1
尽管我自己认为三进制更可读。
以下是一种有效的方法,但可能不是任何语言的最佳实践:
var x,y;
x='something';
y=1;
undefined === y || (x = y);
替代
undefined !== y && (x = y);
看起来你的"y"默认值为1:箭头函数在2020年会很有用:
let x = (y = 1) => //insert operation with y here
设"x"为一个函数,其中"y"是一个参数,如果它是某个null或未定义的值,则该参数将被指定为"1"的默认值,然后用y返回一些操作。
您可以尝试if/else这个简写方法:
// Syntax
if condition || else condition
// Example
let oldStr = "";
let newStr = oldStr || "Updated Value";
console.log(newStr); // Updated Value
// Example 2
let num1 = 2;
let num2 = num1 || 3;
console.log(num2); // 2 cause num1 is a truthy
相关文章:
- 这个函数做什么以及如何在没有'带有'语句-Javascript
- 使用usinf-if语句javascript调用函数
- 不带花括号的If/else语句javascript
- 我怎样才能减少 if/else 语句 Javascript
- 如果其他语句 JavaScript
- 带有返回语句 JavaScript 的三元运算符
- 代码将同时执行 if 和 else 语句.Javascript
- 如果 else 语句 JavaScript
- 短音if/else语句Javascript
- 如何使用if语句javascript使游戏保存最佳分数
- 使用事件onclick访问if语句Javascript中变量的值
- "返回函数外的语句“-JavaScript错误
- 在for循环中使用if语句-Javascript
- if语句返回true,而不是遍历我的所有if语句-javascript
- 我可以't使用if语句(javascript)打印html选择菜单中的值
- 返回语句javascript
- 如何循环if/else语句(JavaScript)
- 如何在HTML中使用if语句(JavaScript)和select标记
- 多个if条件语句javascript/html
- 切换语句javascript