JavaScript လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်
JavaScript လုပ်ဆောင်ချက်များကို အဓိကစကားလုံး ဖြင့်
သတ်မှတ်သည် ။function
လုပ်ဆောင်ချက် ကြေငြာချက် သို့မဟုတ် လုပ်ဆောင်ချက် ဖော်ပြချက်ကို သင်သုံးနိုင်သည် ။
လုပ်ဆောင်ချက်ကြေငြာချက်များ
ဤသင်ခန်းစာတွင် အစောပိုင်းတွင်၊ လုပ်ဆောင်ချက်များကို အောက်ပါ syntax ဖြင့် ကြေညာကြောင်း သင်လေ့လာသိရှိခဲ့သည်-
function functionName(parameters) {
// code to be executed
}
ကြေညာထားသောလုပ်ဆောင်ချက်များကို ချက်ချင်းလုပ်ဆောင်မည်မဟုတ်ပါ။ ၎င်းတို့ကို "နောက်ပိုင်းအသုံးပြုရန်အတွက် သိမ်းဆည်းထားသည်" ဖြစ်ကာ ၎င်းတို့အား ခေါ်ဆိုခြင်းခံရသောအခါတွင် နောက်ပိုင်းတွင် လုပ်ဆောင်သွားမည်ဖြစ်သည်။
ဥပမာ
function myFunction(a, b) {
return a * b;
}
Semicolons များကို executable JavaScript statements များ ခွဲခြားရန် အသုံးပြုပါသည်။
function declaration သည် executable statement မဟုတ်သောကြောင့်၊ ၎င်းကို semicolon ဖြင့် အဆုံးသတ်ခြင်းသည် သာမန်မဟုတ်ပါ။
လုပ်ဆောင်ချက် အသုံးအနှုန်းများ
JavaScript လုပ်ဆောင်ချက်ကို expression တစ်ခုဖြင့် သတ်မှတ်နိုင်သည် ။
function expression တစ်ခုကို variable တစ်ခုတွင် သိမ်းဆည်းထားနိုင်သည်-
ဥပမာ
const x = function (a, b) {return a * b};
function expression ကို variable တစ်ခုတွင် သိမ်းဆည်းပြီးနောက်၊ variable ကို function တစ်ခုအဖြစ်အသုံးပြုနိုင်သည်-
ဥပမာ
const x = function (a, b) {return a * b};
let z = x(4, 3);
အထက်ဖော်ပြပါလုပ်ဆောင်ချက်သည် အမှန်တကယ်တွင် အမည်မသိလုပ်ဆောင်ချက်တစ်ခု (အမည်မပါသောလုပ်ဆောင်ချက်) ဖြစ်သည်။
ကိန်းရှင်များတွင် သိမ်းဆည်းထားသော လုပ်ဆောင်ချက်များသည် လုပ်ဆောင်ချက်အမည်များ မလိုအပ်ပါ။ အမျိုးမျိုးသောအမည်ကို အသုံးပြု၍ ၎င်းတို့ကို အမြဲတမ်း (ခေါ်သည်) ဟုခေါ်သည်။
အထက်ဖော်ပြပါ လုပ်ဆောင်ချက်သည် လုပ်ဆောင်နိုင်သော ထုတ်ပြန်ချက်တစ်ခု၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သောကြောင့် semicolon ဖြင့် အဆုံးသတ်သည်။
Function() တည်ဆောက်သူ
ယခင်နမူနာများတွင် သင်တွေ့မြင်ခဲ့ရသည့်အတိုင်း JavaScript လုပ်ဆောင်ချက်များကို function
သော့ချက်စာလုံးဖြင့် သတ်မှတ်သည်။
Functions များကို built-in JavaScript function constructor ဟုခေါ်သည်
Function()
.
ဥပမာ
const myFunction = new Function("a", "b", "return a * b");
let x = myFunction(4, 3);
အမှန်တကယ်တော့ function constructor ကို သုံးဖို့ မလိုပါဘူး။ အထက်ဖော်ပြပါ ဥပမာသည် စာရေးခြင်းနှင့် အတူတူပင်ဖြစ်သည်
ဥပမာ
const myFunction = function (a, b) {return a * b};
let x = myFunction(4, 3);
အများစုမှာ new
JavaScript တွင် keyword ကိုအသုံးပြုခြင်းမှရှောင်ကြဉ်နိုင်သည်။
Function Hoisting
ဤကျူတိုရီရယ်တွင် အစောပိုင်းတွင်၊ သင်သည် "hoisting" ( JavaScript Hoisting ) အကြောင်း လေ့လာခဲ့သည်။
Hoisting သည် လက်ရှိနယ်ပယ်၏ထိပ် သို့ ကြေငြာချက်များကို ရွှေ့ရန် JavaScript ၏ မူရင်းအပြုအမူဖြစ်သည် ။
Hoisting သည် ပြောင်းလဲနိုင်သော ကြေငြာချက်များနှင့် လုပ်ဆောင်သည့် ကြေငြာချက်များကို အသုံးပြုပါသည်။
ထို့အတွက်ကြောင့် JavaScript လုပ်ဆောင်ချက်များကို ၎င်းတို့အား မကြေငြာမီတွင် ခေါ်နိုင်သည်။
myFunction(5);
function myFunction(y) {
return y * y;
}
စကားရပ်တစ်ခုအသုံးပြု၍ သတ်မှတ်ထားသော လုပ်ဆောင်ချက်များကို လွှင့်မထားပါ။
Self-Invoking Functions
လုပ်ဆောင်ချက်အသုံးအနှုန်းများကို "ကိုယ်တိုင်ခေါ်ဆိုခြင်း" ပြုလုပ်နိုင်သည်။
ခေါ်ဆိုခြင်းမရှိဘဲ အလိုအလျောက် ခေါ်ဆိုခြင်း (စတင်သည်) ကို အလိုအလျောက် ခေါ်ဆိုပါသည်။
စကားရပ်သည် () ကိုလိုက်နာပါက လုပ်ဆောင်ချက်အသုံးအနှုန်းများသည် အလိုအလျောက်လုပ်ဆောင်မည်ဖြစ်သည်။
လုပ်ဆောင်ချက် ကြေငြာချက်ကို သင်ကိုယ်တိုင် ခေါ်ဆို၍မရပါ။
၎င်းသည် လုပ်ဆောင်ချက်အသုံးအနှုန်းတစ်ခုဖြစ်ကြောင်း ညွှန်ပြရန်အတွက် ဖန်ရှင်တစ်ဝိုက်တွင် ကွင်းစဥ်များထည့်ရန် လိုအပ်သည်-
ဥပမာ
(function () {
let x = "Hello!!"; // I will invoke myself
})();
အထက်ဖော်ပြပါ လုပ်ဆောင်ချက်သည် အမှန်တကယ်ပင် အမည်မသိ ကိုယ်တိုင် ခေါ်ဆိုခြင်း လုပ်ဆောင်ချက် (အမည်မပါသော လုပ်ဆောင်ချက်) ဖြစ်သည်။
လုပ်ဆောင်ချက်များကို တန်ဖိုးများအဖြစ် အသုံးပြုနိုင်သည်။
JavaScript လုပ်ဆောင်ချက်များကို တန်ဖိုးများအဖြစ် အသုံးပြုနိုင်ပါသည်။
ဥပမာ
function myFunction(a, b) {
return a * b;
}
let x = myFunction(4, 3);
JavaScript လုပ်ဆောင်ချက်များကို အသုံးအနှုန်းများတွင် အသုံးပြုနိုင်ပါသည်။
ဥပမာ
function myFunction(a, b) {
return a * b;
}
let x = myFunction(4, 3) * 2;
Function များသည် Object များဖြစ်သည်။
JavaScript ရှိ typeof
အော်ပရေတာသည် လုပ်ဆောင်ချက်များအတွက် "function" ကို ပြန်ပေးသည်။
သို့သော်၊ JavaScript လုပ်ဆောင်ချက်များကို အရာဝတ္ထုများအဖြစ် အကောင်းဆုံးဖော်ပြနိုင်သည်။
JavaScript လုပ်ဆောင်ချက်များတွင် ဂုဏ်သတ္တိ နှင့် နည်းလမ်းများ နှစ်မျိုးလုံးရှိသည် ။
လုပ်ဆောင်ချက်ကို ခေါ်ဆိုသောအခါ လက်ခံရရှိသည့် အကြောင်းပြချက် အရေအတွက်ကို ပိုင်ဆိုင်မှု က arguments.length
ပြန်ပေးသည်-
ဥပမာ
function myFunction(a, b) {
return arguments.length;
}
နည်းလမ်း သည် toString()
လုပ်ဆောင်ချက်ကို စာကြောင်းအဖြစ် ပြန်ပေးသည်-
ဥပမာ
function myFunction(a, b) {
return a * b;
}
let text = myFunction.toString();
အရာဝတ္ထုတစ်ခု၏ ပိုင်ဆိုင်မှုအဖြစ် သတ်မှတ်သည့် လုပ်ဆောင်ချက်ကို အရာဝတ္တုသို့ နည်းလမ်းတစ်ခုဟုခေါ်သည်။
အရာဝတ္ထုအသစ်များ ဖန်တီးရန် ဒီဇိုင်းထုတ်ထားသော function ကို object constructor ဟုခေါ်သည်။
Arrow လုပ်ဆောင်ချက်များ
Arrow functions များသည် function expressions များကိုရေးသားရန်အတွက် short syntax ကိုခွင့်ပြုသည်။
function
သော့ချက်စကားလုံး၊ return
သော့ချက်စကားလုံးနှင့်
ကောက်ကောက်ကွင်းပိတ်များ မလိုအပ်ပါ ။
ဥပမာ
// ES5
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Arrow လုပ်ဆောင်ချက်များသည် ၎င်းတို့ကိုယ်ပိုင် this
မရှိပါ။ အရာဝတ္ထုနည်းလမ်းများကို သတ်မှတ်ခြင်းအတွက် ၎င်းတို့သည် ကောင်းစွာမသင့်တော်ပါ ။
မြှားလုပ်ဆောင်ချက်များကို လွှင့်မထားပါ။ အသုံး မပြုမီ ၎င်းတို့ကို သတ်မှတ်ရပါမည် ။
လုပ်ဆောင်ချက်ဖော်ပြချက်တစ်ခုသည် အမြဲတမ်းကိန်းသေတန်ဖိုးဖြစ်သောကြောင့် အသုံးပြုခြင်း const
သည် အသုံးပြုခြင်းထက် ပိုလုံခြုံပါသည် ။var
return
လုပ်ဆောင်ချက်သည် တစ်ခုတည်းသောဖော်ပြချက်ဖြစ်ပါက သော့ချက်စကားလုံးနှင့် ကောက်ကောက်ကွင်းကွင်းများကို သာ ချန်လှပ်နိုင်သည် ။ ထို့အတွက်ကြောင့် ၎င်းတို့ကို အမြဲထိန်းသိမ်းထားရန် အလေ့အကျင့်ကောင်းတစ်ခု ဖြစ်နိုင်သည်-
ဥပမာ
const x = (x, y) => { return x * y };
Arrow လုပ်ဆောင်ချက်များကို IE11 သို့မဟုတ် အစောပိုင်းတွင် ပံ့ပိုးမထားပါ။