Shorthand for empty function in Node.js
Javascriptnode.jsJavascript Problem Overview
In JS, there is shorthand for an empty object which is {}
. Is there shorthand for an empty function
in JS?
The reason being, as functions are first-class objects, we use them as arguments more often, but passing in an empty function is at best ugly.
var foo = baz(function(){});
In order to declare a function, at somepoint we have to declare function(){}
.
I would like more Node.js APIs to require a (callback) function to be passed, so the API doesn't deceivingly look synchronous. Perhaps one step in that direction would be to create shorthand for empty placeholder functions.
Javascript Solutions
Solution 1 - Javascript
No, there is not. With ES6, you might be able to use an arrow function: ()=>{}
which is a bit shorter.
If you really need this very often (you shouldn't?!), you can declare one yourself:
function noop(){}
and then refer to that repeatedly. If you don't want to clutter your scope, you can also use the Function.prototype
function (sic!) which does nothing but constantly return undefined
- yet that's actually longer than your function expression.
Solution 2 - Javascript
ES6 one could be:
const noop = () => {};
Be careful if using Babel as it compiles differently - instead you can explicitly return something:
const noop = () => ({});
See this tweet as to why the curly braces are important: https://twitter.com/_ericelliott/status/601420050327711744?lang=en
Solution 3 - Javascript
If you use lodash, there is a noop method.