W tym samouczku dowiesz się o domyślnych parametrach JavaScript przy pomocy przykładów.
Koncepcja parametrów domyślnych to nowa funkcja wprowadzona w wersji ES6 języka JavaScript. To pozwala nam nadać domyślne wartości parametrom funkcji. Weźmy przykład,
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
W powyższym przykładzie wartość domyślna xto 3, a wartość domyślna yto 5 .
sum(5, 15)- Kiedy oba argumenty są przekazywane,xtrwa 5 iyzajmuje 15 .sum(7)- Gdy 7 jest przekazywane dosum()funkcji,xprzyjmuje 7 iyprzyjmuje wartość domyślną 5 .sum()- Gdy żaden argument nie jest przekazywany do funkcji sum () ,xprzyjmuje wartość domyślną 3 iywartość domyślną 5 .
Jak działają domyślne argumenty w JavaScript
Używanie wyrażeń jako wartości domyślnych
Możliwe jest również podanie wyrażeń jako wartości domyślnych.
Przykład 1: Przekazywanie parametru jako wartości domyślnych
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
W powyższym programie
- Wartość domyślna
xto 1 - Domyślną wartością
yjestxparametr - Wartość domyślna
zto sumaxiy
Jeśli odwołasz się do parametru, który nie został jeszcze zainicjowany, pojawi się błąd. Na przykład,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); Wynik
ReferenceError: Nie można uzyskać dostępu do „y” przed inicjalizacją
Przykład 2: Przekazywanie wartości funkcji jako wartości domyślnej
// 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
W powyższym programie
- 10 jest przekazywane do
calculate()funkcji. xstaje się10iystaje się150(funkcja sumy zwraca15).- Wynik będzie
160.
Przekazywanie niezdefiniowanej wartości
W JavaScript, gdy przechodzisz undefineddo domyślnej funkcji parametru, funkcja przyjmuje wartość domyślną. Na przykład,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1








