⊗jsPmFTFENIn 233 of 505 menu

JavaScript ရှိ Function Expressions ၏ အသေးစိတ်အချက်များ

Function Expression ဟူသော အမည်ကို အလဟဿမပေးထားခြင်းဖြစ်သည်။ ၎င်းသည် တကယ်ပင် ဆိုလိုသည်မှာ ထိုကဲ့သို့သော function များသည် expression တစ်ခုခု၏ အစိတ်အပိုင်းတစ်ခု ဖြစ်နေခြင်းကို ဆိုလိုသည်။

ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် string တစ်ခုခုကို အမည်မဲ့ function တစ်ခုနှင့် ပေါင်းနိုင်သည်။

let str = 'str' + function() {return 3;}; console.log(str); // 'strfunction() {return 3;}' ကို ထုတ်ပြမည်

ကျွန်ုပ်တို့သည် ကိန်း 3 မဟုတ်ဘဲ ထူးဆန်းသောရလဒ်ကို မြင်ရသည်မှာ ဘာကြောင့်နည်း။ ဘာကြောင့်ဆိုသော် ဒုတိယပေါင်းလဒ်သည် function ၏ အလုပ်လုပ်သည့်ရလဒ်မဟုတ်ဘဲ ၎င်း၏ မူရင်းကုဒ် ဖြစ်နေသောကြောင့်ဖြစ်သည် (ကျွန်ုပ်တို့သည် ထို function ကို ခေါ်ယူအသုံးပြုခြင်းမပြုဘဲ ရေးသားထားသည့်အတွက်ဖြစ်သည်)။

ဆိုလိုသည်မှာ functional expression ဟူသော အမည်သည် ထိုကဲ့သို့သော function သည် expression တစ်ခုခုတွင် ပါဝင်ပတ်သက်နေသည်ကို ဖော်ပြသည်။

ကိန်းရှင်တစ်ခုသို့ သတ်မှတ်ပေးခြင်းသည်လည်း expression တစ်ခုဖြစ်သည်။

let func = function() { console.log('!'); };

ဥပမာအားဖြင့်၊ function ကို console.log အတွင်း parameter တစ်ခုအဖြစ် ပို့ပေးနိုင်ပြီး ၎င်းက console ထဲတွင် function ၏ မူရင်းကုဒ်ကို ထုတ်ပြမည် - ထိုသို့ပြုလုပ်ခြင်းသည်လည်း expression တစ်ခုဟု ယူဆပါသည်။

console.log(function() {return 3;});

ဤအချက်သည် အဘယ်ကြောင့် အရေးကြီးသနည်း။ အဘယ်ကြောင့်ဆိုသော် Function Declaration နှင့် Function Expression ၏ ခြားနားချက်သည် ပထမ function သည် အမည်တစ်ခုနှင့် ဖန်တီးပြီး ဒုတိယ function သည် အစကတည်းက အမည်မရှိခြင်း မဟုတ်သောကြောင့်ဖြစ်သည်။ ထိုသို့မဟုတ်ပါ။

ဥပမာ။ ဤနေရာတွင် function တစ်ခုသည် အမည်မရှိသော်လည်း မည်သည့် expression တွင်မှ ပါဝင်မနေပါ (ရိုးရိုးရှင်းရှင်းပြောရလျှင် ၎င်းနှင့် မည်သည့်လုပ်ဆောင်ချက်ကိုမှ ပြုလုပ်ခြင်းမရှိပါ)။

/* ဤ function သည် Function Declaration ဖြစ်သော်လည်း syntax error ရှိနေမည်။ */ function() { console.log('!'); }

ထိုကဲ့သို့သော ကုဒ်သည် error တစ်ခုကို ပေးမည်။ အဘယ်ကြောင့်နည်း။ function သည် မည်သည့် expression တွင်မှ ပါဝင်မနေသောကြောင့် browser က ၎င်းကို Function Declaration အဖြစ် ယူဆသော်လည်း ၎င်း၏ အမည်ကို မတွေ့ရှိသဖြင့် error ကို ထုတ်ပေးခြင်းဖြစ်သည်။

Error ပျောက်ကွယ်သွားစေရန် function အား expression တစ်ခုခု၏ အစိတ်အပိုင်းတစ်ခု ဖြစ်အောင် ပြုလုပ်ရန် လိုအပ်သည်။ ဥပမာအားဖြင့် ၎င်း၏ ရှေ့တွင် + လုပ်ဆောင်ချက်ကို ရေးကြည့်ပါမည်။

+function() { // ထိုကဲ့သို့သော ကုဒ်သည် မှန်ကန်သည် console.log('!'); };

ဤသို့အလုပ်လုပ်ပုံ။ + လုပ်ဆောင်ချက် ကိုယ်တိုင်သည် ဘာမှမလုပ်ပါ၊ ၎င်းသည် ကိန်း +3 ကို ကိန်း 3 အစားရေးခြင်းနှင့် အတူတူပင်ဖြစ်သည် - ခွင့်ပြုထားသော်လည်း ဘာမှမပြောင်းလဲပါ။

သို့သော် function နှင့်ပတ်သက်လာလျှင် - ၎င်းသည် ပြောင်းလဲစေသည်။ ယခု ကျွန်ုပ်တို့၏ function သည် ရိုးရိုးရေးထားခြင်းမဟုတ်တော့ဘဲ expression တစ်ခုတွင် ပါဝင်နေပါသည်။ ထို့ကြောင့် error ဖြစ်မည်မဟုတ်ပါ။ function ကို ခေါ်ယူအသုံးပြုခြင်းမပြုဘဲ ရေးသားထားသည့်အတွက် function ၏ အလုပ်လုပ်သည့်ရလဒ်လည်း ရှိမည်မဟုတ်ပါ။

+ အစား မည်သည့်အရာကိုမဆို ရေးနိုင်သည်။ ဥပမာအားဖြင့်။

-function() { // ထိုကဲ့သို့သော ကုဒ်သည် မှန်ကန်သည် console.log('!'); }; !function() { // ထိုကဲ့သို့သော ကုဒ်သည် မှန်ကန်သည် console.log('!'); };

ကျွန်ုပ်တို့၏ function ကို ကွင်းစကွင်းပိတ်ထဲသို့ ထည့်နိုင်သည်၊ ထိုအခါ ၎င်းသည်လည်း functional expression တစ်ခု ဖြစ်လာမည်ဖြစ်သည်။

(function() { // ထိုကဲ့သို့သော ကုဒ်သည် မှန်ကန်သည် console.log('!'); });

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

function func() { console.log('!'); }

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

let func = function() { console.log('!'); }

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

+function() { console.log('!'); }

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

!function func() { console.log('!'); }

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

-function func() { console.log('!'); }

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

1 + function func() { console.log('!'); }

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

(function func() { console.log('!'); })

ဖော်ပြထားသော function သည် Function Declaration သို့မဟုတ် Function Expression ဖြစ်မဖြစ် သတ်မှတ်ပါ။

console.log( function() { console.log('!'); } );
မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်