JavaScript ရှိ function ၏ ဘယ်ဘက်အခြမ်းရှိ expression

အောက်ပါကုဒ်ကို ကြည့်ရအောင်။

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

သင်သိပြီးဖြစ်သည့်အတိုင်း ဤ function သည် function expression တစ်ခုဖြစ်ပြီး ၎င်းတွင် အမည်သတ်မှတ်ထားခြင်း (အမည်ရှိခြင်းသည် အဓိကသတ်မှတ်ချက်မဟုတ်ကြောင်း ကျွန်ုပ်တို့သိရှိပြီး) ရှိသည့်တိုင် ဖြစ်သည်။ ဤ plus ကိုဖယ်ရှားလိုက်ပါက Function Declaration ကိုရရှိမည်။

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

function ၏ ရှေ့တွင် + ကို သီးခြားလိုင်းတစ်ခုတွင် ထားလိုက်ကြည့်ပါ - ၎င်းသည် နောက်တစ်ကြိမ် Function Expression ဖြစ်လာမည်။

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

ယခု plus ၏ နောက်တွင် နံပါတ် 1 နှင့် semicolon ထားလိုက်ပါက - ကျွန်ုပ်တို့၏ function သည် Function Declaration ဖြစ်လာမည်။

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

အဘယ်ကြောင့် ဤသို့ဖြစ်ရသနည်း။ အဘယ်ကြောင့်ဆိုသော် ပထမလိုင်းတွင် တစ်ခုတည်းသော အပြီးသတ်ထားသည့် command တစ်ခု ရေးထားပြီး semicolon ဖြင့် ပိတ်ထားသောကြောင့် ဖြစ်သည်။ ထို့ကြောင့် ဤ command သည် ကျွန်ုပ်တို့၏ function အပေါ်တွင် မည်သည့်သက်ရောက်မှုမျှ မရှိပါ။

တကယ်တော့ semicolon ကို ဖယ်ရှားပစ်နိုင်သည်၊ JavaScript တွင် ၎င်းသည် မဖြစ်မနေလိုအပ်ခြင်းမရှိပါ - function သည် Function Declaration အနေနှင့် ကျန်ရှိနေဦးမည်။

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

သို့သော် 1 ၏ နောက်တွင် နောက်ထပ် plus တစ်ခု ထပ်ထည့်လိုက်ပါက function သည် Function Expression ဖြစ်လာမည်။

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

အဘယ်ကြောင့် ဤသို့ဖြစ်ရသနည်း။ အဘယ်ကြောင့်ဆိုသော် ပထမလိုင်းတွင် အပြီးမသတ်ရသေးသော expression တစ်ခုရှိနေသောကြောင့် - plus ရှိနေပြီး ၎င်း၏ နောက်တွင် ဘာမှမရှိပါ။ ထို့ကြောင့် JavaScript interpreter က ဤ plus သည် အောက်ရှိလိုင်း၊ ဆိုလိုသည်မှာ ကျွန်ုပ်တို့၏ function နှင့် သက်ဆိုင်သည်ဟု ယူဆသည်။

ပထမလိုင်းတွင် အပြီးသတ်ထားသော expression တစ်ခုရှိပါက JavaScript သည် ၎င်းအတွက် semicolon ကို အလိုအလျောက်ထားပေးပြီး ထို expression သည် ကျွန်ုပ်တို့၏ function အပေါ်တွင် မည်သည့်သက်ရောက်မှုမျှ မရှိပါ။

Задание 1

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

javascript-
function func() {
  console.log('!');
}
Задание 2

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

javascript-1;
function func() {
  console.log('!');
}
Задание 3

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

javascript-1
function func() {
  console.log('!');
}
Задание 4

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

javascript1
function func() {
  console.log('!');
}
Задание 5

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

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