В этом руководстве вы узнаете о параметрах 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 .
Как аргументы по умолчанию работают в JavaScript
Использование выражений в качестве значений по умолчанию
Также можно указать выражения в качестве значений по умолчанию.
Пример 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








