Zadani parametri JavaScript-a

U ovom ćete uputstvu uz primjere naučiti o zadanim parametrima JavaScript-a.

Koncept zadanih parametara nova je značajka uvedena u ES6 verziju JavaScript-a. To nam omogućuje da zadane vrijednosti dodijelimo funkcijskim parametrima. Uzmimo primjer,

 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

U gornjem primjeru zadana vrijednost xje 3, a zadana vrijednost yje 5 .

  • sum(5, 15)- Kada su proslijeđena oba argumenta, xtraje 5, a yuzima 15 .
  • sum(7)- Kada se 7 prenese u sum()funkciju, xuzima 7 i yuzima zadanu vrijednost 5 .
  • sum()- Kada se funkcija sum () ne proslijedi niti jedan argument , xuzima zadanu vrijednost 3 i yuzima zadanu vrijednost 5 .
Kako zadani argumenti rade u JavaScript-u

Korištenje izraza kao zadanih vrijednosti

Također je moguće dati izraze kao zadane vrijednosti.

Primjer 1: Prosljeđivanje parametra kao zadanih vrijednosti

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

U gornjem programu,

  • Zadana vrijednost xje 1
  • Zadana vrijednost ypostavljena je na xparametar
  • Zadana vrijednost zje zbroj xiy

Ako se uputite na parametar koji još nije inicijaliziran, dobit ćete pogrešku. Na primjer,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Izlaz
 ReferenceError: Ne može pristupiti 'y' prije inicijalizacije

Primjer 2: Prosljeđivanje vrijednosti funkcije kao zadane vrijednosti

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

U gornjem programu,

  • 10 se prenosi u calculate()funkciju.
  • xpostaje 10, i ypostaje 150(funkcija zbroja se vraća 15).
  • Rezultat će biti 160.

Prolazak nedefinirane vrijednosti

U JavaScript-u, kada prijeđete undefinedna zadanu funkciju parametra, funkcija uzima zadanu vrijednost. Na primjer,

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

Zanimljivi članci...