JavaScript တွင် လက်ဆီကယ် ဝန်းကျင်
အားလုံးသော ပြင်ပ၊ function သို့ရောက်ရှိနိုင်သော variable များကို ၎င်း၏ လက်ဆီကယ် ဝန်းကျင် (LexicalEnvironment) ဟုခေါ်သည်။
အောက်ပါဥပမာတွင် function အတွက် ရောက်ရှိနိုင်သော variable နှစ်ခုရှိသည်-
num1 နှင့် num2၊ ၎င်းတို့သည်
ကျွန်ုပ်တို့၏ function ၏ လက်ဆီကယ် ဝန်းကျင်ဖြစ်သည်။
let num1 = 1;
let num2 = 2;
function func() {
// function သည် variable များ num1 နှင့် num2 အကြောင်းသိသည်
}
လက်ဆီကယ် ဝန်းကျင်ကိုယ်တိုင်သည် JavaScript ၏ အတွင်းပိုင်း object တစ်ခုဖြစ်ပြီး ကျွန်ုပ်တို့၏ function နှင့် ချိတ်ဆက်ထားသည်။ ဤကိစ္စတွင် ၎င်းကို အောက်ပါပုံစံဖြင့် ကိုယ်စားပြုနိုင်သည်။
{num1: 1, num2: 2}
လက်ဆီကယ် ဝန်းကျင်ရှိ မည်သည့် variable ၏တန်ဖိုးမဆို အမြဲတမ်း ထို variable ၏လက်ရှိတန်ဖိုးနှင့် ညီသည်။
let num1 = 1; // ဝန်းကျင် {num1: 1}
let num2 = 2; // ဝန်းကျင် {num1: 1, num2: 2}
// variable num1 ကိုပြောင်းကြည့်ကြမည်-
num1 = 123; // ဝန်းကျင် {num1: 123, num2: 2}
function func() {
}
Function တစ်ခုအတွင်း မည်သည့် variable ကိုမဆို ရည်ညွှန်းရန် ကြိုးစားသည့်အခါ၊ ထို variable ကို function ၏ local variable များကြားတွင် အရင်ရှာဖွေပြီး အကယ်၍ ထိုကဲ့သို့ variable မရှိပါက၊ function ၏ လက်ဆီကယ် ဝန်းကျင်ထဲတွင် ရှာဖွေသည်။