JavaScript noklusējuma parametri

Šajā apmācībā jūs uzzināsit par JavaScript noklusējuma parametriem, izmantojot piemērus.

Noklusējuma parametru jēdziens ir jauna iezīme, kas ieviesta JavaScript ES6 versijā. Tas ļauj mums piešķirt noklusējuma vērtības funkciju parametriem. Ņemsim piemēru,

 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

Iepriekš minētajā piemērā noklusējuma vērtība xir 3 un noklusējuma vērtība yir 5 .

  • sum(5, 15)- Kad abi argumenti ir pieņemti, xņem 5 un yņem 15 .
  • sum(7)- Kad funkcijai tiek nodota 7sum() , tā xaizņem 7 un ynoklusējuma vērtību 5 .
  • sum()- Ja funkcijai summa () netiek nodots neviens arguments , tā xuzņem noklusējuma vērtību 3 un ynoklusējuma vērtību 5 .
Kā noklusējuma argumenti darbojas JavaScript

Izteicienu izmantošana kā noklusējuma vērtības

Ir arī iespējams izteiksmes izteikt kā noklusējuma vērtības.

1. piemērs: Parametra noklusēšana kā noklusējuma vērtības

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

Iepriekš minētajā programmā

  • Noklusējuma vērtība xir 1
  • Noklusējuma vērtība yir iestatīta uz xparametru
  • Noklusējuma vērtība zir summa xuny

Ja norādīsit parametru, kas vēl nav inicializēts, tiks parādīta kļūda. Piemēram,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Rezultāts
 ReferenceError: pirms inicializācijas nevar piekļūt “y”

2. piemērs: Funkcijas Passing vērtība kā noklusējuma vērtība

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

Iepriekš minētajā programmā

  • 10 tiek nodota calculate()funkcijai.
  • xkļūst 10un ykļūst 150(summas funkcija atgriežas 15).
  • Rezultāts būs 160.

Notiek nedefinēta vērtība

Programmā JavaScript pārejot undefineduz noklusējuma parametru funkciju, funkcija iegūst noklusējuma vērtību. Piemēram,

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

Interesanti raksti...