2015-06-02 23 views
15

In JS gibt es eine Kurzschrift für ein leeres Objekt, das {} ist. Gibt es eine Abkürzung für eine leere function in JS?Kürzel für leere Funktion in Node.js

Da Funktionen erstklassige Objekte sind, verwenden wir sie häufiger als Argumente, aber die Weitergabe in einer leeren Funktion ist bestenfalls hässlich.

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

Um eine Funktion, bei somepoint zu erklären, haben wir function(){} zu erklären.

Ich möchte mehr Node.js APIs erfordern eine (Callback) -Funktion übergeben werden, so dass die API nicht täuschend synchron aussieht. Vielleicht wäre ein Schritt in diese Richtung, eine Kurzschrift für leere Platzhalterfunktionen zu erstellen.

+2

Nein, gibt es nicht. –

+3

Wie erstellt man eine Funktion und referenziert sie in einer Variablen zur Wiederverwendung? –

+2

Ich denke, Sie könnten ES6 Funktionen aktivieren und Pfeilfunktion Syntax 'a => 0' –

Antwort

22

Nein, gibt es nicht. Mit ES6 können Sie möglicherweise eine Pfeilfunktion verwenden: ()=>{}, die ein bisschen kürzer ist.

Wenn Sie wirklich diese benötigen sehr oft (Sie sollten nicht ?!), können Sie sich erklären:

function noop(){} 

und dann zu, dass immer wieder beziehen. Wenn Sie Ihr Zielfernrohr nicht durcheinander bringen wollen, können Sie auch die Funktion Function.prototype (sic!) Verwenden, die nur undefined zurückgibt, aber das ist tatsächlich länger als Ihr Funktionsausdruck.

+0

ja, ok Danke, ich habe das Noop-Paradigma schon mal gesehen, wusste aber nicht, was es bedeutet - ich gehe davon aus, dass noop für "no operation" steht. –

+2

[Ja genau] (https://en.wikipedia.org/wiki/NOP) – Bergi

+0

Dies ist wahrscheinlich die beste Wahl in dieser Situation. Lieber eine leere Funktion() {} als null übergeben. –