【发布时间】:2017-04-02 01:20:35
【问题描述】:
我想把这段代码写得更短:
var fn = function (a) {
if (a) {
somefn.call(null, a);
}
};
使用箭头语句,它将是:
var fn = (a) => { if (a) somefn.call(null, a); };
如果使用条件运算符,我想要 more 短代码:
var fn = (a) => a ? somefn.call(null, a) : null;// null is dummy code
它并不美丽。有没有这样的语法?:
var fn = (a) => a ? somefn.call(null, a);
谢谢。
【问题讨论】:
-
你从更短的代码中看到了什么好处?
-
var f=a=>a&&s.call(null,a);尽可能小,但您还需要制作somefn->s和fn现在将是f... 如果f在全局范围内,您可以通过删除var来节省 4 个额外的字节 ...所以现在是f=a=>a&&s.call(null,a);...如果您在名为c的函数上创建一个原型,它会执行call,并且有var n = null;- 那么这可以更短f=a=>a&&s.c(n,a);- 我认为这是尽可能短 -
@JaromandaX:也许是为了代码高尔夫?
-
@JaromandaX:更短的代码有时可以提高可读性。
-
查看答案。它们的可读性更高。
标签: javascript syntax conditional-operator arrow-functions