Διαφορά μεταξύ δηλώσεων συνάρτησης

Και οι δύο τρόποι δήλωσης μιας συνάρτησης είναι ισοδύναμοι, αλλά υπάρχει μια σημαντική διαφορά: οι συναρτήσεις που δηλώνονται ως Function Declaration θα είναι διαθέσιμες, ακόμα και αν προσπαθήσουμε να τις καλέσουμε πριν από τη δήλωσή τους.

Δείτε το παράδειγμα:

javascript// Καλούμε τη συνάρτηση πριν από τη δήλωσή της:
func(); // θα εμφανίσει '!'

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

Ενώ τα functional expressions δημιουργούνται τη στιγμή της εκτέλεσης του κώδικα και δεν είναι διαθέσιμα πιο πάνω. Για αυτό αυτός ο κώδικας θα προκαλέσει σφάλμα:

javascriptfunc(); // σφάλμα, η συνάρτηση δεν υπάρχει ακόμα!

let func = function() {
  console.log('!');
};
Задание 1

Δημιουργήστε μια συνάρτηση ως Function Declaration. Επαληθεύστε ότι θα είναι διαθέσιμη πριν από το σημείο δήλωσής της.

Задание 2

Δημιουργήστε μια συνάρτηση ως Function Expression. Επαληθεύστε ότι δεν θα είναι διαθέσιμη πριν από το σημείο δήλωσής της.