Šioje pamokoje naudodamiesi pavyzdžiais sužinosite apie numatytuosius „JavaScript“ parametrus.
Numatytųjų parametrų samprata yra nauja funkcija, įdiegta „ ES6 “ „JavaScript“ versijoje. Tai leidžia mums numatyti numatytąsias funkcijos parametrų reikšmes. Paimkime pavyzdį,
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
Ankstesniame pavyzdyje numatytoji vertė x
yra 3, o numatytoji vertė y
yra 5 .
sum(5, 15)
- Kai abu argumentai praėjo,x
trunka 5 iry
trunka 15 .sum(7)
- Kai 7 perduodama įsum()
funkciją,x
užima 7 iry
trunka numatytąją vertę 5 .sum()
- Kai nėra argumentas yra perduodama suma () funkcija,x
trunka numatytąją vertę 3 iry
trunka numatytąją vertę 5 .
![](https://cdn.wiki-base.com/6005366/javascript_default_parameters.png.webp)
Išraiškų naudojimas kaip numatytųjų verčių
Taip pat galima pateikti išraiškas kaip numatytąsias reikšmes.
1 pavyzdys: parametro perdavimas kaip numatytosios vertės
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
Pirmiau pateiktoje programoje
- Numatytoji reikšmė
x
yra 1 - Numatytoji reikšmė
y
yra nustatyta kaipx
parametras - Numatytoji reikšmė
z
yrax
iry
Jei nurodysite parametrą, kuris dar nebuvo inicializuotas, gausite klaidą. Pavyzdžiui,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Rezultatas
„ReferenceError“: negalima inicijuoti „y“
2 pavyzdys: Funkcijos reikšmė kaip numatytoji reikšmė
// 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
Pirmiau pateiktoje programoje
- 10 perduodama
calculate()
funkcijai. x
tampa10
iry
tampa150
(sumos funkcija grįžta15
).- Rezultatas bus
160
.
Perduodama neapibrėžta vertė
„JavaScript“, kai pereinate undefined
į numatytąją parametro funkciją, funkcija gauna numatytąją vertę. Pavyzdžiui,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1