是否有语法缩短if语句如条件运算符?

时间:2016-11-18 08:55:36

标签: javascript syntax conditional-operator arrow-functions

我想更简短地编写这段代码:

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

使用arrow语句,它将是:

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);

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用logical AND &&来检查a并调用该函数,如果a是真实的。

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

答案 1 :(得分:0)

您的原始代码足够短,"漂亮",希望能够做您想做的事。

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

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