是否有语法缩短if语句如条件运算符?(Is there the syntax to shorten if statement like conditional operator?)

我想写这段代码更简短:

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

谢谢。

I want to write this code more short:

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

Using arrow statement, it will be:

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

I want more short code, if using conditional operator:

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

It is not beautiful. Is there any syntax like this?:

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

thanks.

最满意答案

你可以使用逻辑AND && ,它检查并调用函数,如果是真的。

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

You could use a logical AND &&, which checks a and calls the function, if a is truthy.

var fn = a => a && somefn.call(null, a);是否有语法缩短if语句如条件运算符?(Is there the syntax to shorten if statement like conditional operator?)

我想写这段代码更简短:

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

谢谢。

I want to write this code more short:

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

Using arrow statement, it will be:

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

I want more short code, if using conditional operator:

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

It is not beautiful. Is there any syntax like this?:

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

thanks.

最满意答案

你可以使用逻辑AND && ,它检查并调用函数,如果是真的。

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

You could use a logical AND &&, which checks a and calls the function, if a is truthy.

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