I denne opplæringen vil du lære om JavaScript-standardparametere ved hjelp av eksempler.
Konseptet med standardparametere er en ny funksjon introdusert i ES6- versjonen av JavaScript. Dette lar oss gi standardverdier til funksjonsparametere. La oss ta et eksempel,
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
I det ovenstående eksempel standardverdien x
er 3 , og standardverdien y
er 5 .
sum(5, 15)
- Når begge argumentene er bestått,x
tar 5 ogy
tar 15 .sum(7)
- Når 7 sendes tilsum()
funksjonen,x
tar 7 ogy
tar standardverdien 5 .sum()
- Når ingen argumenter sendes til sum () -funksjonen,x
tar standardverdien 3 ogy
tar standardverdien 5 .
![](https://cdn.wiki-base.com/6005366/javascript_default_parameters.png.webp)
Bruke uttrykk som standardverdier
Det er også mulig å gi uttrykk som standardverdier.
Eksempel 1: Overføring av parameter som standardverdier
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
I programmet ovenfor,
- Standardverdien
x
er 1 - Standardverdien for
y
er satt tilx
parameter - Standardverdien for
z
er summen avx
ogy
Hvis du refererer til parameteren som ikke er initialisert ennå, får du en feil. For eksempel,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Produksjon
ReferenceError: Kan ikke få tilgang til 'y' før initialisering
Eksempel 2: Overføring av funksjonsverdi som standardverdi
// 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
I programmet ovenfor,
- 10 overføres til
calculate()
funksjonen. x
blir10
, ogy
blir150
(sumfunksjonen returnerer15
).- Resultatet blir
160
.
Passerer udefinert verdi
Når du overfører undefined
til en standardparameterfunksjon i JavaScript, tar funksjonen standardverdien. For eksempel,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1