JavaScript-standardparametrar

I denna handledning lär du dig om JavaScript-parametrar med hjälp av exempel.

Begreppet standardparametrar är en ny funktion som introducerades i ES6- versionen av JavaScript. Detta gör att vi kan ge standardvärden för funktionsparametrar. Låt oss ta ett exempel,

 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 ovanstående exempel, standardvärdet xär 3 och standardvärdet yär fem .

  • sum(5, 15)- När båda argumenten godkänns, xtar 5 och ytar 15 .
  • sum(7)- När 7 skickas till sum()funktionen, xtar 7 och ytar standardvärde 5 .
  • sum()- När inget argument skickas till funktionen sum ()x tar standardvärdet 3 och ytar standardvärdet 5 .
Hur standardargument fungerar i JavaScript

Använda uttryck som standardvärden

Det är också möjligt att tillhandahålla uttryck som standardvärden.

Exempel 1: Skicka parametrar som standardvärden

 function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4

I ovanstående program,

  • Standardvärdet xär 1
  • Standardvärdet för yär inställt på xparameter
  • Standardvärdet för zär summan av xochy

Om du hänvisar till parametern som inte har initierats ännu får du ett fel. Till exempel,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Produktion
 ReferenceError: Kan inte komma åt 'y' före initialisering

Exempel 2: Skicka funktionsvärde som standardvärde

 // 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 ovanstående program,

  • 10 överförs till calculate()funktionen.
  • xblir 10och yblir 150(summan kommer tillbaka 15).
  • Resultatet blir 160.

Passerar odefinierat värde

När du skickar undefinedtill en standardparametrarfunktion i JavaScript tar funktionen standardvärdet. Till exempel,

 function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1

Intressanta artiklar...