Shorthand voor lege functie in Node.js

In JS is er een afkorting voor een leeg object dat {}is. Is er een afkorting voor een lege functionin JS?

De reden hiervoor is dat, aangezien functies eersteklas objecten zijn, we ze vaker als argumenten gebruiken, maar het doorgeven van een lege functie is op zijn best lelijk.

var foo = baz(function(){});

Om een ​​functie te declareren, moeten we op een gegeven moment function(){}declareren.

Ik zou willen dat meer Node.js-API’s een (callback)-functie vereisen, zodat de API er niet bedrieglijk synchroon uitziet. Misschien zou een stap in die richting zijn om een ​​afkorting te maken voor lege tijdelijke aanduiding-functies.


Antwoord 1, autoriteit 100%

Nee, dat is er niet. Met ES6 kun je misschien een pijlfunctie gebruiken: ()=>{}die iets korter is.

Als je dit echt heel vaak nodig hebt (hoeft niet?!), kun je er zelf een aangeven:

function noop(){}

en verwijs daar dan herhaaldelijk naar. Als u uw bereik niet te vol wilt maken, kunt u ook de functie Function.prototypegebruiken (sic!) die niets anders doet dan constant undefinedretourneren – maar dat is eigenlijk langer dan uw functie-uitdrukking.


Antwoord 2, autoriteit 48%

Eén van de ES6 zou kunnen zijn:

  const noop = () => {};

Wees voorzichtig als je Babel gebruikt omdat het anders compileert – in plaats daarvan kun je expliciet iets teruggeven:

  const noop = () => ({});

Bekijk deze tweet waarom de accolades belangrijk zijn: https://twitter. com/_ericelliott/status/601420050327711744?lang=nl


Antwoord 3, autoriteit 4%

Als je lodash gebruikt, is er een noop-methode.

Other episodes