В този урок ще научите за параметрите по подразбиране на JavaScript с помощта на примери.
Концепцията за параметрите по подразбиране е нова функция, въведена в ES6 версията на JavaScript. Това ни позволява да дадем стойности по подразбиране на функционалните параметри. Нека вземем пример,
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
В горния пример стойността по подразбиране x
е 3, а стойността по подразбиране y
е 5 .
sum(5, 15)
- Когато и двата аргумента са предадени,x
отнема 5 иy
отнема 15 .sum(7)
- Когато 7 се предаде наsum()
функцията,x
отнема 7 иy
приема стойността по подразбиране 5 .sum()
- Когато към функцията sum () не е предаден аргумент ,x
приема стойността по подразбиране 3 иy
стойността по подразбиране 5 .
![](https://cdn.wiki-base.com/6005366/javascript_default_parameters.png.webp)
Използване на изрази като стойности по подразбиране
Също така е възможно да се предоставят изрази като стойности по подразбиране.
Пример 1: Предаване на параметър като стойности по подразбиране
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
В горната програма,
- Стойността по подразбиране
x
е 1 - Стойността по подразбиране на
y
е зададена наx
параметър - Стойността по подразбиране на
z
е сумата отx
иy
Ако се позовете на параметъра, който все още не е инициализиран, ще получите грешка. Например,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Изход
ReferenceError: Няма достъп до „y“ преди инициализация
Пример 2: Предаване на стойност на функцията като стойност по подразбиране
// 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
В горната програма,
- 10 се предава на
calculate()
функцията. x
става10
иy
става150
(функцията за сумиране се връща15
).- Резултатът ще бъде
160
.
Предаване на недефинирана стойност
В JavaScript, когато преминете undefined
към функция на параметър по подразбиране, функцията приема стойността по подразбиране. Например,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1