У цьому посібнику ви дізнаєтесь про параметри за замовчуванням JavaScript за допомогою прикладів.
Поняття параметрів за замовчуванням - це нова функція, представлена у версії JavaScript ES6 . Це дозволяє нам задавати значення параметрів функції за замовчуванням. Візьмемо приклад,
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 .

Використання виразів як значень за замовчуванням
Також можна вказати вирази як значення за замовчуванням.
Приклад 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