Атауы бар, бірақ JavaScript-те Function Expression болатын функция
Енді атауы болатын, бірақ Expression-нің құрамына кіріп, Function Expression болатын функция жасайық:
+function func() {
console.log('!');
}
Қызығы, біз func атауы арқылы өз функциямызға жүйелесе алмаймыз,
бұл қатеге әкеледі:
+function func() {
console.log('!');
}
func(); //!! қате шығарады
Функциямызды шақыра алу үшін, оны бір айнымалыға тағайындау керек:
let test = function func() {
console.log('!');
};
test(); // '!' шығарады
Тағы да айтайын: функционалдық өрнек болып табылатын функция оның атауы арқылы шақырыла алмайды. Мұндай функция тек сол функция жазылған айнымалыны қолдану арқылы ғана шақырылуы мүмкін.
Бірақ соған қарамастан, функционалдық өрнектің функция атауы болуы мүмкін, бұл синтаксистік тұрғыдан дұрыс болады. Мұндай нәрсе не үшін қажет, біз келесі сабақтарда қарастырамыз.
Қорытынды жасайық: функциялар Function Declaration немесе Function Expression болады, олардың атауы бар немесе жоқ болғандығынан емес, олардың өрнектердің құрамына кіретіні немесе кірмейтініне байланысты.
Жоғарыда көргеніңіздей, атаусыз функция Function Declaration ретінде қабылдануы мумкін, ал атауы бар функция Function Expression болуы мүмкін.