در جاوا اسکریپت علاوه بر کلیدواژهی function از نشانهی => نیز میتوان برای تعریف تابع استفاده کرد. به این نوع توابع، توابع پیکان گفته میشود.
ویژگی اصلی توابع پیکان آن است که در داخل آنها کلیدواژهی this به شیئی اختصاص داده نمیشود. به عبارت دیگر، این توابع تغییری در مقدار this که در محیط خارج از آنها وجود دارد، ایجاد نمیکنند.
این توابع خصوصاً برای توابع آرایه و بازخوانهای دیگر شبیه آنها بسیار مفید واقع میشوند. بهعنوان مثال، به کاربرد زیر توجه کنید:
class School {
constructor() {
this.name = "Peykan";
this.students = [{name: "Ali"}, {name: "Hassan"}];
}
showStudents() {
this.students.forEach(student => {
console.log(`Student ${student.name} from School ${this.name}`);
});
}
}
بهطوریکه میبینید، در این مثال کلیدواژهی this حتی در داخل تابع پیکان همچنان به شیء «مدرسه» دلالت میکند.