ES6 додав функції жирової стрілки ( =>
), які мають дві основні відмінності від звичайних функцій:
- коротший синтаксис (включаючи неявне повернення, якщо ви використовуєте тіло з одним виразом)
- успадковувати
this
з навколишнього сфери
Це обидві дуже корисні функції, але мені здаються абсолютно окремими за своєю цінністю та застосуванням - іноді мені хочеться одного, або іншого, або обох, або жодного. Здається дивним , що , якщо я хочу використовувати функцію захисту від короткого синтаксису, я є також використовувати this
-modifying поведінку. І навпаки. Я не бачу, чому ці дві можливості реалізуються як єдине доповнення до мови.
Що робити, якщо я хочу використовувати коротку функцію синтаксису для її неявного повернення та стислості (в якомусь контексті, коли повна function (..) { return ...}
буде трохи менш читабельною), але я хочу використовувати this
у своїй функції для позначення виклику контексту? Немає цього зробити.
CoffeeScript має ->
і =>
функції, і стиль, і, мабуть, ES6 запозичив =>
стиль звідти. Отже, моє запитання: чому ES6 також не запозичив ->
стиль?
this
до закриття в повному обсязі декларації функції. Це може бути не тією частиною, яка вас турбує.
arguments
небудь.