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