Σε αυτό το σεμινάριο, θα μάθετε για τις προεπιλεγμένες παραμέτρους JavaScript με τη βοήθεια παραδειγμάτων.
Η έννοια των προεπιλεγμένων παραμέτρων είναι μια νέα δυνατότητα που εισήχθη στην έκδοση ES6 του JavaScript. Αυτό μας επιτρέπει να δώσουμε προεπιλεγμένες τιμές στις παραμέτρους λειτουργίας. Ας πάρουμε ένα παράδειγμα,
function sum(x = 3, y = 5) ( // return sum return x + y; ) console.log(sum(5, 15)); // 20 console.log(sum(7)); // 12 console.log(sum()); // 8
Στο παραπάνω παράδειγμα, η προεπιλεγμένη τιμή x
είναι 3 και η προεπιλεγμένη τιμή y
είναι 5 .
sum(5, 15)
- Όταν περάσουν και τα δύο ορίσματα,x
παίρνει 5 καιy
παίρνει 15 .sum(7)
- Όταν το 7 μεταβιβάζεται στηsum()
συνάρτηση,x
παίρνει 7 καιy
παίρνει την προεπιλεγμένη τιμή 5 .sum()
- Όταν δεν περνά κανένα όρισμα στη συνάρτηση sum () ,x
παίρνει την προεπιλεγμένη τιμή 3 καιy
παίρνει την προεπιλεγμένη τιμή 5 .

Χρήση των εκφράσεων ως προεπιλεγμένων τιμών
Είναι επίσης δυνατό να παρέχετε εκφράσεις ως προεπιλεγμένες τιμές.
Παράδειγμα 1: Διαβίβαση παραμέτρου ως προεπιλεγμένων τιμών
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
Στο παραπάνω πρόγραμμα,
- Η προεπιλεγμένη τιμή
x
είναι 1 - Η προεπιλεγμένη τιμή
y
ορίζεται στηνx
παράμετρο - Η προεπιλεγμένη τιμή
z
είναι το άθροισμαx
καιy
Εάν αναφέρετε την παράμετρο που δεν έχει ακόμη αρχικοποιηθεί, θα λάβετε ένα σφάλμα. Για παράδειγμα,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Παραγωγή
ReferenceError: Δεν είναι δυνατή η πρόσβαση στο «y» πριν από την προετοιμασία
Παράδειγμα 2: Διαβίβαση τιμής συνάρτησης ως προεπιλεγμένη τιμή
// using a function in default value expression const sum = () => 15; const calculate = function( x, y = x * sum() ) ( return x + y; ) const result = calculate(10); console.log(result); // 160
Στο παραπάνω πρόγραμμα,
- 10 μεταφέρεται στη
calculate()
συνάρτηση. x
γίνεται10
, καιy
γίνεται150
(η συνάρτηση αθροίσματος επιστρέφει15
).- Το αποτέλεσμα θα είναι
160
.
Πέρασμα απροσδιόριστης τιμής
Στο JavaScript, όταν μεταβείτε undefined
σε μια προεπιλεγμένη συνάρτηση παραμέτρου, η συνάρτηση λαμβάνει την προεπιλεγμένη τιμή. Για παράδειγμα,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1