Predvolené parametre JavaScriptu

V tomto tutoriáli sa pomocou príkladov dozviete o predvolených parametroch JavaScriptu.

Koncept predvolených parametrov je nová funkcia zavedená vo verzii Java ES6 . To nám umožňuje dať predvolené hodnoty funkčným parametrom. Zoberme si príklad,

 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

Vo vyššie uvedenom príklade je východisková hodnota xje 3 a predvolená hodnota yje 5 .

  • sum(5, 15)- Keď sú zadané oba argumenty, xberie 5 a yberie 15 .
  • sum(7)- Keď sa funkcii odovzdá 7sum() , xvezme 7 a yvezme predvolenú hodnotu 5 .
  • sum()- Keď sa funkcii sum () neodovzdá žiadny argument, použije xpredvolenú hodnotu 3 a ypredvolenú hodnotu 5 .
Ako fungujú predvolené argumenty v JavaScripte

Používanie výrazov ako predvolených hodnôt

Je tiež možné poskytnúť výrazy ako predvolené hodnoty.

Príklad 1: Zadanie parametra ako predvolenej hodnoty

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

Vo vyššie uvedenom programe

  • Predvolená hodnota xje 1
  • Predvolená hodnota yje nastavená na xparameter
  • Predvolená hodnota zje súčet xay

Ak sa zmienite o parametri, ktorý ešte nebol inicializovaný, zobrazí sa chyba. Napríklad,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Výkon
 ReferenceError: Pred inicializáciou nemožno získať prístup k znaku „y“

Príklad 2: Odovzdanie hodnoty funkcie ako predvolenej hodnoty

 // 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

Vo vyššie uvedenom programe

  • 10 sa odovzdá calculate()funkcii.
  • xsa stáva 10a ystáva sa 150(funkcia súčtu sa vráti 15).
  • Výsledok bude 160.

Prechádzajú nedefinovanou hodnotou

Keď v JavaScripte prejdete undefinedna funkciu predvolených parametrov, funkcia získa predvolenú hodnotu. Napríklad,

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

Zaujímavé články...