Arrow Functions چییە؟
لە وەشانی ES6 ی جاڤاسکریپتدا، شێوازێکی نوێ بۆ نووسینی فەنکشنەکان ناسێندرا کە پێی دەوترێت Arrow Function. ئەم شێوازە ڕێگەت پێ دەدات فەنکشنەکان بە شێوەیەکی زۆر کورتتر و خوێندنەوەیان ئاسانتر بنووسیت.
تێبینی: Arrow Function تەنها کورتکراوەیەک نییە، بەڵکو هەندێک تایبەتمەندی جیاوازی هەیە لەگەڵ فەنکشنی ئاسایی (وەک چۆنیەتی مامەڵەکردن لەگەڵ this)، بەڵام بۆ دەستپێک، گرنگترین شت ئەوەیە فێری شێوازی نووسینەکەی ببیت.
شێوازی نووسینی بنەڕەتی
لە فەنکشنی ئاساییدا ئێمە وشەی function بەکاردەهێنین، بەڵام لە Arrow Function دا وشەی function لادەبەین و نیشانەی => بەکاردەهێنین.
// فەنکشنی ئاسایی
const hello = function() {
return "سڵاو لە جیهان!";
};
// Arrow Function
const helloArrow = () => "سڵاو لە جیهان!";
console.log(helloArrow());لە نموونەکەی سەرەوەدا دەبینیت کە چۆن کۆدەکان کورت بوونەتەوە. کاتێک فەنکشنەکە تەنها یەک دێڕە، پێویست ناکات وشەی return یان کەوانەی {} بەکاربهێنین.
بەکارهێنانی پارامەترەکان
ئەگەر فەنکشنەکەت پارامەتری هەبێت، دەتوانیت لەناو کەوانە بچووکەکاندا دایان بنێیت. ئەگەر تەنها یەک پارامەترت هەبێت، تەنانەت پێویست ناکات کەوانە بچووکەکانیش بەکاربهێنیت.
// یەک پارامەتر
const square = x => x * x;
// دوو پارامەتر یان زیاتر
const add = (a, b) => a + b;
console.log(square(5)); // دەرەنجام: 25
console.log(add(10, 20)); // دەرەنجام: 30هەڵەی باو: زۆرێک لە فێرخوازان لەبیر دەکەن کە ئەگەر زیاتر لە پارامەترێک هەبێت، دەبێت کەوانەکان () بەکاربهێنن. ئەگەر پارامەتر نەبێت یان زیاتر لە یەک دانە بێت، بەکارهێنانی کەوانەکان مەرجە.
کاتێک کەوانەی { } بەکاردەهێنین
ئەگەر فەنکشنەکەت زیاتر لە یەک دێڕ کۆدی تێدایە، ئەوا دەبێت کەوانەی {} بەکاربهێنیت و وشەی returnیش بەکاربهێنیت بۆ گەڕاندنەوەی ئەنجامەکە.
const calculate = (a, b) => {
const sum = a + b;
const result = sum * 2;
return result;
};
console.log(calculate(5, 5)); // دەرەنجام: 20ئاگاداری: ئەگەر کەوانەی {} بەکاربهێنیت، جاڤاسکریپت خۆکاری return ناکات. دەبێت بە دەستی وشەی return بنووسیت، ئەگەرنا ئەنجامەکەت undefined دەبێت.
بۆچی Arrow Function بەکاربهێنین؟
- کۆدێکی کورتتر و پاکترت پێ دەبەخشێت.
- بۆ بەکارهێنان لەگەڵ
map،filterوreduceزۆر گونجاوە. - مامەڵەکردن لەگەڵ
thisلەناو Arrow Function دا ئاسانترە لە بەکارهێنانی ئاسایی.
ڕاهێنانی پراکتیکی
ئێستا کاتی ئەوەیە خۆت تاقی بکەیتەوە! فەنکشنێکی Arrow دروست بکە بە ناوی greet کە ناوی کەسێک وەردەگرێت و پەیامێکی "سڵاو [ناو]" دەگەڕێنێتەوە.
هەوڵ بدە بە کورتترین شێوە بینوسیت!