ES6 menambahkan fungsi panah-lemak ( =>
), yang memiliki dua perbedaan utama dari fungsi normal:
- sintaksis yang lebih pendek (termasuk pengembalian implisit jika Anda menggunakan satu-ekspresi tubuh)
- mewarisi
this
dari lingkup sekitarnya
Keduanya adalah fitur yang sangat berguna, tetapi bagi saya tampaknya benar-benar terpisah dalam nilai dan aplikasinya - kadang-kadang saya menginginkan satu, atau yang lain, atau keduanya, atau tidak sama sekali. Tampaknya aneh bahwa jika saya ingin menggunakan fungsi pendek sintaks, saya harus juga menggunakan this
perilaku -modifying. Dan sebaliknya. Saya tidak melihat mengapa kedua kemampuan ini diterapkan sebagai tambahan tunggal untuk bahasa tersebut.
Bagaimana jika saya ingin menggunakan fungsi sintaks pendek untuk pengembalian implisit dan singkatnya (dalam beberapa konteks di mana penuh function (..) { return ...}
akan sedikit kurang terbaca), tetapi saya ingin menggunakan this
dalam fungsi saya untuk merujuk ke konteks panggilan? Tidak ada cara untuk melakukan ini.
CoffeeScript memiliki fungsi keduanya ->
dan =>
style, dan tampaknya ES6 meminjam =>
style dari sana. Jadi pertanyaan saya adalah, mengapa ES6 juga tidak meminjam ->
gaya?
this
ke penutupan dalam deklarasi fungsi penuh. Ini mungkin bukan bagian yang Anda khawatirkan.
arguments
keduanya.