Мне кажется, что в ES6 следующие две функции очень близки:
function () {
  return this;
}.bind(this);
() => {
  return this;
};
Конечный результат выглядит одинаково: функции-стрелки создают объект функции JavaScript со своим контекстом this, связанным с тем же значением, что и this, где они созданы.
Очевидно, что в общем смысле Function.prototype.bind является более гибким, чем функции стрелок: он может связываться со значениями, отличными от локального this, и он может связывать любую функцию this в любой момент времени, потенциально долго после его создания. Тем не менее, я не спрашиваю, как bind сам отличается от функций стрелок, я спрашиваю, как функции стрелок отличаются от непосредственного вызова bind с помощью this.
Существуют ли различия между двумя конструкциями в ES6?
