Was sind die Unterschiede (falls vorhanden) zwischen ES6-Pfeilfunktionen und Funktionen, die mit Function.prototype.bind verknüpft sind?

Es scheint mir, dass in ES6 die folgenden zwei Funktionen sehrfas identisch:

function () {
  return this;
}.bind(this);

() => {
  return this;
};

Das Endergebnis scheint dasselbe zu sein: Pfeilfunktionen erzeugen ein JavaScript-Funktionsobjekt mit ihremthis -Kontext an denselben Wert gebunden wie dasthis wo sie erstellt werden.

ffensichtlich im allgemeinen Sinne,Function.prototype.bind ist flexibler als Pfeilfunktionen: Es kann an andere Werte als das lokale @ gebunden werdethis, und es kann jede Funktion bindenthis zu jedem Zeitpunkt, möglicherweise noch lange nach seiner erstmaligen Erstellung. Allerdings frage ich nicht, wiebind selbst unterscheidet sich von Pfeilfunktionen. Ich frage, wie sich Pfeilfunktionen vom sofortigen Aufrufen von @ unterscheidebind mitthis.

Gibt es Unterschiede zwischen den beiden Konstrukten in ES6?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage