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.
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.
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
If you use lodash, there is a noop method.