مقدمه
در این درس با یک روش دیگر برای تعریف توابع بدون نام آشنا میشویم که نسبت به روش Function Expression سادهتر و مختصرتر است. این روش Arrow Function نام دارد.
آموزش جاوااسکریپت
در این درس با یک روش دیگر برای تعریف توابع بدون نام آشنا میشویم که نسبت به روش Function Expression سادهتر و مختصرتر است. این روش Arrow Function نام دارد.
فرم کلی سینتکس Arrow Function به صورت زیر است.
let func = (arg1, arg2, ..., argN) => expression;
که یک تابع با N آرگومان ایجاد میکند و سپس عبارت سمت راست را ارزیابی کرده و آن را به عنوان خروجی تابع برمیگرداند. به عبارت دیگر، این کد فرم خلاصهتر کد زیر است.
let func = function(arg1, arg2, ..., argN) {
return expression;
}
حالا به مثال زیر نگاه کنید.
let sum = (a, b) => a + b;
/* This arrow function is a shorter form of:
let sum = function(a, b) {
return a + b;
};
*/
console.log(sum(1, 2)); // 3
اگر تابع ما فقط یک پارامتر داشته باشد، نیازی نیست که آن پارامتر را درون پرانتز قرار دهیم و اگر تابع هیچ پارامتری نداشته باشد، پرانتز را باید حتماً قرار دهیم. در مثال زیر، تابع double فقط بک پارامتر با نام n دارد و بنابراین، میتوانیم از قرار دادن آن درون پرانتز صرفنظر کنیم و تابع sayHi() فاقد پارامتر است و بنابراین، حتماً به یک جفت پرانتر خالی نیاز دارد.
let double = n => n * 2;
let sayHi = () => console.log('Hi!');
console.log(double(3)); // 6
sayHi(); // Hi!
در مثالهای بالا مقدار بازگشتی تابع یک عبارت ساده است اما اگر تابع پیچیدهتری داشته باشیم، میتوانیم کد بدنهی تابع را درون یک جفت آکلاد قرار دهیم و عبارت بازگشتی را با استفاده از کلمه کلیدی return مشخص کنیم. مثال زیر را ببینید.
let sum = (a, b) => {
let result = a + b;
return result;
};
console.log(sum(1, 2)); // 3