Javascript / ES6是否支持Elvis运算符?
示例:
var x = (y==true) ?: 10;
示例2:
var debug = true;
debug ?: console.log("Value of x:" + x);
Javascript / ES6是否支持Elvis运算符?
示例:
var x = (y==true) ?: 10;
示例2:
var debug = true;
debug ?: console.log("Value of x:" + x);
var debug = true;
debug && console.log("debug mode on ");
debug || console.log("debug mode off");
对于你的问题,简短的回答是“没有”。在javascript中没有Elvis运算符。但是你可以通过几种不同的方式来实现相同的行为,例如:
使用普通的三元运算符:
var x = y ? 10 : null;
或者仅使用一个简单的“if”语句来输出:
if (debug) console.log("Value of x:", x);
||
——例如var x = y || 10
或debug || console.log()
。 - VLAZif (y === true) 10;
。请注意,由于可读性不足,这不是编写if语句最流行的方式。 - Baruch||
是 Elvis 操作符。 - Salman A||
只有在条件为假时才进行求值。三目运算符则在条件为真时进行求值。因此,&&
更接近于三目运算符。 - 1.21 gigawatts||
的作用:1 || 2 // 1
与1 && 2 // 2
。 - Salman A?:
运算符将评估右手条件。 使用||
运算符时,左侧条件必须为假才能让解释器继续并评估右侧条件。如果第一个条件为假,则评估第二个条件。如果左侧条件为真,则无需评估右侧条件。 使用 Elvis 运算符,如果左侧条件为真,则要运行右侧条件。&&
更接近 Elvis 的行为。 - 1.21 gigawatts