ფუნქციის გამოცხადების სხვაობა
ფუნქციის გამოცხადების ორივე გზა ეკვივალენტურია, მაგრამ არსებობს მნიშვნელოვანი სხვაობა: ფუნქციები, რომლებიც გამოცხადებულია როგორც Function Declaration, იქნება ხელმისაწვდომი, მაშინაც კი, თუ მათთან მივმართავთ იმ დროისთვის, როდესაც ისინი გამოცხადებული იყო.
ნახეთ მაგალითი:
// ვმართავთ ფუნქციას მისი გამოცხადებამდე:
func(); // გამოიტანს '!'
function func() {
console.log('!');
}
ფუნქციური გამონათქვამები კი იქმნება კოდის შესრულების მომენტში და მაღლა არ არის ხელმისაწვდომი. ამიტომ ასეთი კოდი დააბრუნებს შეცდომას:
func(); //შეცდომა, ასეთი ფუნქცია ჯერ არ არსებობს!
let func = function() {
console.log('!');
};
შექმენით ფუნქცია როგორც Function Declaration. შეამოწმეთ, რომ ის იქნება ხელმისაწვდომი მაღლა მისი გამოცხადების ადგილიდან.
შექმენით ფუნქცია როგორც Function Expression. შეამოწმეთ, რომ ის არ იქნება ხელმისაწვდომი მაღლა მისი გამოცხადების ადგილიდან.