ES6 hat Fettpfeil- Funktionen ( =>
) hinzugefügt , die zwei Hauptunterschiede zu normalen Funktionen aufweisen:
- kürzere Syntax (einschließlich impliziter Rückgabe, wenn Sie einen Body mit einem Ausdruck verwenden)
this
vom umgebenden Bereich erben
Beides sind sehr nützliche Funktionen, aber sie scheinen mir in Wert und Anwendung völlig getrennt zu sein - manchmal möchte ich die eine oder die andere oder beide oder keine. Es scheint seltsam , dass , wenn ich eine kurze Syntax Funktion verwenden möchten, ich habe auch die Verwendung this
-modifying Verhalten. Und umgekehrt. Ich verstehe nicht, warum diese beiden Funktionen als einzelne Erweiterung der Sprache implementiert sind.
Was ist, wenn ich eine kurze Syntaxfunktion für ihre implizite Rückgabe und Kürze verwenden function (..) { return ...}
möchte (in einem Kontext, in dem ein vollständiger Code etwas weniger lesbar wäre), aber ich möchte this
in meiner Funktion auf den aufrufenden Kontext verweisen? Es gibt keine Möglichkeit, dies zu tun.
CoffeeScript hat sowohl ->
als auch =>
Stilfunktionen, und anscheinend hat ES6 den =>
Stil von dort ausgeliehen. Meine Frage ist also, warum hat ES6 den ->
Stil nicht auch ausgeliehen ?
this
eine vollständige Funktionsdeklaration an den Abschluss binden . Dies ist jedoch möglicherweise nicht der Teil, um den Sie sich Sorgen machen.
arguments
.