Εκτός από τις δηλώσεις συναρτήσεων και τις εκφράσεις συναρτήσεων, η JavaScript έχει επίσης μια άλλη πολύ συνοπτική σύνταξη για τον ορισμό μιας συνάρτησης. Αυτές οι συναρτήσεις ονομάζονται συναρτήσεις βέλους.
Σε αυτή την έννοια, θα επικεντρωθούμε στη σύνταξη που χρησιμοποιείται για να γράψουμε μια συνάρτηση βέλους. Υπάρχουν διαφορές στον τρόπο που λειτουργεί μια συνάρτηση βέλους, όπως η δέσμευση του this, που θα καλυφθούν σε άλλες έννοιες.
Ακολουθεί μια σύγκριση μεταξύ μιας δήλωσης συνάρτησης και μιας συνάρτησης βέλους.
function addUpTwoNumbers(num1, num2) {
return num1 + num2;
}
// function keyword removed and => added
const addUpTwoNumbers = (num1, num2) => {
return num1 + num2;
};
Παραπάνω, θα δεις ότι η σύνταξη της συνάρτησης βέλους:
function
addUpTwoNumbers ως const
=>
Αν το σώμα της συνάρτησης περιέχει μόνο μια εντολή return, όπως στο παραπάνω παράδειγμα, τα {} και η λέξη-κλειδί return μπορούν να παραλειφθούν.
const addUpTwoNumbers = (num1, num2) => { return num1 + num2 };
// can be shortened to
const addUpTwoNumbers = (num1, num2) => num1 + num2;
// braces {} and return removed
Στην ειδική περίπτωση που μια συνάρτηση βέλους επιστρέφει μόνο ένα αντικείμενο, χρειάζονται παρενθέσεις γύρω από το αντικείμενο για να μπορεί να παραλειφθεί η εντολή return.
// explicit return of object
const addUpTwoNumbers = (num1, num2) => {
return { num1, num2 };
};
// implicit return of object
const addUpTwoNumbers = (num1, num2) => ({ num1, num2 });
Η χρήση παρενθέσεων γύρω από τις παραμέτρους εξαρτάται από τον αριθμό των παραμέτρων.
// one parameter does not need parenthesis
const square = num => num * num;
// two or more parameters need to be wrapped in parenthesis
const addUpTwoNumbers = (num1, num2) => num1 + num2;
Άλλες έννοιες, όπως οι Παράμετροι rest και η Αποδόμηση, μπορούν επίσης να χρησιμοποιηθούν με μια συνάρτηση βέλους.