在JS中,有一个空对象的简写{}
。 JS中是否有空function
的简写?
原因是,由于函数是第一类对象,我们更频繁地将它们用作参数,但传入一个空函数最多是丑陋的。
var foo = baz(function(){});
为了声明一个函数,在某个点我们必须声明function(){}
。
我希望更多Node.js API要求传递(回调)函数,因此API不会欺骗性地看起来是同步的。也许朝这个方向迈出的一步就是为空占位符函数创建速记。
答案 0 :(得分:38)
不,没有。使用ES6,您可以使用箭头函数:()=>{}
,它有点短。
如果你真的经常需要这个(你不应该这样做?!),你可以自己申报一个:
function noop(){}
然后反复提到。如果你不想让你的范围变得混乱,你也可以使用Function.prototype
函数(原文如此!)除了不断返回undefined
之外什么都不做 - 但实际上它比你的函数表达式更长。
答案 1 :(得分:4)
ES6可能是
const noop = () => ({});
请参阅此推文,了解花括号为何如此重要https://twitter.com/_ericelliott/status/601420050327711744?lang=en
答案 2 :(得分:1)
如果您使用lodash,则会有noop method。