Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript alapértelmezett paramétereit.
Az alapértelmezett paraméterek koncepciója a JavaScript ES6 verziójában bevezetett új funkció . Ez lehetővé teszi számunkra, hogy alapértelmezett értékeket adjunk a függvény paramétereinek. Vegyünk egy példát,
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
A fenti példában, az alapértelmezett értéke x
van 3 , és az alapértelmezett értéke y
van 5 .
sum(5, 15)
- Ha mindkét érvek kerülnek átadásra,x
úgy 5 ésy
tart 15 .sum(7)
- Ha a 7- et átadják asum()
függvénynek,x
akkor 7-ety
vesz és az alapértelmezett 5-et veszi fel .sum()
- Ha nincs érv jut el a sum () függvény,x
úgy alapérték 3 ésy
tart alapértelmezett érték 5 .

A kifejezések használata alapértelmezett értékként
Lehetséges kifejezések megadása alapértelmezett értékként is.
1. példa: Paraméter átadása alapértelmezett értékként
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
A fenti programban
- Az alapértelmezett érték
x
az 1 - Az alapértelmezett érték
y
van beállítva, hogyx
a paraméter - Az alapértelmezett értéke
z
ax
ésy
Ha hivatkozik a még nem inicializált paraméterre, hibaüzenetet kap. Például,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Kimenet
ReferenceError: Az inicializálás előtt nem érhető el az „y”
2. példa: Funkcióérték átadása alapértelmezett értékként
// 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
A fenti programban
- A 10- et átadják a
calculate()
függvénynek. x
válik10
, ésy
válik150
(az összeg függvény visszatér15
).- Az eredmény az lesz
160
.
Meghatározatlan érték átadása
A JavaScript-ben, amikor átkerül undefined
egy alapértelmezett paraméterfüggvényre, a függvény az alapértelmezett értéket veszi fel. Például,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1