是否有像条件运算符一样缩短 if 语句的语法?

Is there the syntax to shorten if statement like conditional operator?

我想把这段代码写得更短:

var fn = function (a) {
    if (a) {
        somefn.call(null, a);
    }
};

使用箭头语句,它将是:

var fn = (a) => { if (a) somefn.call(null, a); };

我想要更多短代码,如果使用条件运算符:

var fn = (a) => a ? somefn.call(null, a) : null;// null is dummy code

不美。有这样的语法吗?:

var fn = (a) => a ? somefn.call(null, a);

谢谢。

您可以使用 logical AND &&,它会检查 a 并在 a 为真时调用该函数。

var fn = a => a && somefn.call(null, a);

您的原始代码足够短,"beautiful",希望您能如愿以偿。

你可以这样写。但这不是更好的代码,更丑陋,更难理解...

var fn = a ? function( a ) { somefn.call(null, a) ; } : function( ) { };