JavaScript-standardparametere

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 xer 3 , og standardverdien yer 5 .

  • sum(5, 15)- Når begge argumentene er bestått, xtar 5 og ytar 15 .
  • sum(7)- Når 7 sendes til sum()funksjonen, xtar 7 og ytar standardverdien 5 .
  • sum()- Når ingen argumenter sendes til sum () -funksjonen, xtar standardverdien 3 og ytar standardverdien 5 .
Hvordan standardargumenter fungerer i JavaScript

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 xer 1
  • Standardverdien for yer satt til xparameter
  • Standardverdien for zer summen av xogy

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.
  • xblir 10, og yblir 150(sumfunksjonen returnerer 15).
  • Resultatet blir 160.

Passerer udefinert verdi

Når du overfører undefinedtil 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

Interessante artikler...