ES6 เพิ่มฟังก์ชั่นลูกศรไขมัน ( =>
) ซึ่งมีสองความแตกต่างที่สำคัญจากฟังก์ชั่นปกติ:
- ไวยากรณ์ที่สั้นกว่า (รวมถึงการส่งคืนโดยนัยถ้าคุณใช้เนื้อความที่เป็นนิพจน์เดียว)
- สืบทอด
this
มาจากขอบเขตโดยรอบ
สิ่งเหล่านี้เป็นคุณสมบัติที่มีประโยชน์มาก แต่ดูเหมือนว่าฉันจะแยกจากคุณค่าและแอพพลิเคชั่นของพวกเขาโดยสิ้นเชิง - บางครั้งฉันต้องการอย่างใดอย่างหนึ่งหรืออย่างอื่นหรือทั้งสองอย่างหรือทั้งสองอย่าง ดูเหมือนว่าแปลกที่ถ้าฉันต้องการใช้ฟังก์ชั่นไวยากรณ์สั้นฉันต้องใช้this
-modifying พฤติกรรม และในทางกลับกัน. ฉันไม่เห็นว่าทำไมความสามารถทั้งสองนี้จึงถูกนำมาใช้เป็นส่วนเสริมของภาษา
ถ้าฉันต้องการใช้ฟังก์ชั่นซินแทกซ์สั้น ๆ สำหรับผลตอบแทนและความกะทัดรัดโดยปริยาย (ในบางบริบทที่เต็มfunction (..) { return ...}
จะอ่านได้น้อยกว่าเล็กน้อย) แต่ฉันต้องการใช้this
ในฟังก์ชั่นของฉันเพื่ออ้างถึงบริบทการโทร? ไม่มีวิธีทำเช่นนี้
CoffeeScript มีทั้งฟังก์ชั่น->
และ=>
สไตล์และดูเหมือนว่า ES6 ยืม=>
สไตล์จากที่นั่น ดังนั้นคำถามของฉันคือทำไม ES6 จึงไม่ยืม->
สไตล์นี้ด้วย?
this
กับการปิดในการประกาศฟังก์ชั่นเต็มรูปแบบ นี่อาจไม่ใช่ส่วนที่คุณกังวล
arguments
ทั้ง