如何在javascript中为变量设置单行设置器?
我希望能够做到以下几点: 假设我有3个变量:如何在javascript中为变量设置单行设置器?,javascript,Javascript,我希望能够做到以下几点: 假设我有3个变量: var a1 vara2 varx 我希望能够设置“x”: 等于a1,如果它不是null 如果a1不是null 如果定义了a1和a2,则等于a1 如果a1和a2都是null 有没有一行javascript我可以使用 目前我有: var x; if (a2) { x = a2; } if (a1) { x = a1; } 假设您只关心值是否为falsy而不是与null相同,请使用|: var x = a1 || a2 || null;
var a1代码>
vara2代码>
varx代码>
- 等于
,如果它不是a1
null
- 如果
不是a1
null
- 如果定义了a1和a2,则等于
a1
- 如果
和a1
都是a2
null
var x;
if (a2) {
x = a2;
}
if (a1) {
x = a1;
}
假设您只关心值是否为falsy而不是与
null
相同,请使用|
:
var x = a1 || a2 || null;
“and”和“or”运算符在任何受C语言影响的语言中短路。结合Javascript的真实性概念,这是一个强大的特性。使用它。假设您只关心值是否为falsy而不是与
null
相同,请使用|
:
var x = a1 || a2 || null;
“and”和“or”运算符在任何受C语言影响的语言中短路。结合Javascript的真实性概念,这是一个强大的特性。使用它。使用
?
运算符
var x; x = a1 ? a1 : (a2 ? a2: null)
使用
?
运算符
var x; x = a1 ? a1 : (a2 ? a2: null)
你可以用一个。这将允许您传递条件,而不是默认为undefined
/null
检查。这是一种短路情况
与C#和Java一样,只有当表达式是给定条件下的匹配表达式时,才会对该表达式进行计算;将不计算另一个表达式
虽然的用法看起来像Elvis操作符(?:
),但在JavaScript中,您可以使用它来执行默认值
var x = a1 || a2 || null;
你可以用一个。这将允许您传递条件,而不是默认为undefined
/null
检查。这是一种短路情况
与C#和Java一样,只有当表达式是给定条件下的匹配表达式时,才会对该表达式进行计算;将不计算另一个表达式
虽然的用法看起来像Elvis操作符(?:
),但在JavaScript中,您可以使用它来执行默认值
var x = a1 || a2 || null;
varx;x=a1?a1:(a2?a2:null)
当然,可以在一行中完成,但为什么是一行?编写它以使其易于阅读,然后使用缩微器。var x;x=a1?a1:(a2?a2:null)
当然,可以在一行中完成,但为什么是一行?写它,以便它易于阅读,然后使用一个小型化。这可能适用于大多数情况下,但将不工作,如果<代码> A1 < /代码>或<代码> A2 < /代码>是伪造的(例如,代码>错误< /代码>或<代码>”/代码>。A1或A2是NULL或对象,所以不需要考虑假或“@”BhojendraNepal如何?我不知道如何在这个表达式中随机插入一个&&
,并获得有意义的内容。@BhojendraNepal如果没有,请尝试运行它。@BhojendraNepal如果a1和a2是真的,则返回null
。事实上,它总是返回一些虚假的东西。这可能适用于大多数情况,但是如果<代码> A1 < /C>或<代码> A2< /Cal>是伪造的(例如:代码>错误< /代码>或<代码>”/“代码>”,A1或A2不是NULL或Objor,所以不需要考虑假或“@”BhojendraNepal怎么办?我不知道如何在这个表达式中随机插入一个&&
,并获得有意义的内容。@BhojendraNepal如果没有,请尝试运行它。@BhojendraNepal如果a1和a2是真的,则返回null
。事实上,它总是返回一些虚假的东西。