În acest tutorial, veți afla despre parametrii impliciți JavaScript cu ajutorul exemplelor.
Conceptul de parametri impliciți este o nouă caracteristică introdusă în versiunea ES6 de JavaScript. Acest lucru ne permite să dăm valori implicite parametrilor de funcționare. Să luăm un exemplu,
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
În exemplul de mai sus, valoarea implicită a x
este 3 și valoarea implicită a y
este 5 .
sum(5, 15)
- Când ambele argumente sunt trecute,x
ia 5 șiy
ia 15 .sum(7)
- Când 7 este trecut lasum()
funcție,x
ia 7 șiy
ia valoarea implicită 5 .sum()
- Când nu se transmite niciun argument funcției sum () ,x
ia valoarea implicită 3 șiy
ia valoarea implicită 5 .
![](https://cdn.wiki-base.com/6005366/javascript_default_parameters.png.webp)
Utilizarea expresiilor ca valori implicite
De asemenea, este posibil să furnizați expresii ca valori implicite.
Exemplul 1: trecerea parametrului ca valori implicite
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
În programul de mai sus,
- Valoarea implicită a
x
este 1 - Valoarea implicită a
y
este setată lax
parametru - Valoarea implicită a
z
este suma luix
șiy
Dacă faceți referire la parametrul care nu a fost inițializat încă, veți primi o eroare. De exemplu,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Ieșire
ReferenceError: Nu se poate accesa „y” înainte de inițializare
Exemplul 2: Trecerea valorii funcției ca valoare implicită
// 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
În programul de mai sus,
- 10 este trecut la
calculate()
funcție. x
devine10
șiy
devine150
(funcția sumă revine15
).- Rezultatul va fi
160
.
Trecerea valorii nedefinite
În JavaScript, când treceți undefined
la o funcție de parametru implicită, funcția ia valoarea implicită. De exemplu,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1