较短的三元逻辑

Jac*_*nkr 3 javascript ternary-operator

是否有一个较短的使用方式ternary逻辑JS当else"空"

true ? console.log(true) :0; // current
Run Code Online (Sandbox Code Playgroud)

我在寻找的东西

true ? console.log(true);
//or
true ?: console.log(true);
Run Code Online (Sandbox Code Playgroud)

只是好奇.谢谢!

Roc*_*mat 6

试试这个:

true && console.log(true);
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为它&&使这个表达式成为一个布尔值.JavaScript会尝试评估它.如果第一个值为false,则由于短路而没有任何反应.如果是真的,那么它会评估第二个(the console.log).

您也可以使用JavaScript ||作为一种快速的方法empty(谨防像0和的假值'').

var a = false;
var b = a || 6; // b will be 6
Run Code Online (Sandbox Code Playgroud)

  • 现在考虑一下,这就像`if(true)console.log(true);`但更短.干得好. (2认同)