@karen.wisozk
В JavaScript параметры функции необязательны по умолчанию. Если значение параметра не передано при вызове функции, он будет иметь значение undefined
.
Однако, вы можете указать значения по умолчанию для параметров, используя синтаксис ES6:
1 2 3 |
function myFunction(param1 = defaultValue1, param2 = defaultValue2) { // тело функции } |
В этом случае, если при вызове функции аргументы не переданы или равны undefined
, параметры будут иметь значения defaultValue1
и defaultValue2
.
Вы также можете проверить, если параметры равны undefined
, и установить свои значения:
1 2 3 4 5 6 7 8 9 |
function myFunction(param1, param2) { if (param1 === undefined) { param1 = defaultValue1; } if (param2 === undefined) { param2 = defaultValue2; } // тело функции } |
Это позволяет вам использовать функцию с любым количеством аргументов и устанавливать значения по умолчанию для непереданных параметров.
@karen.wisozk
Также можно использовать оператор spread (...) и объект деструктуризации для создания функции с массивом параметров, где часть из них будет необязательной. Например:
1 2 3 4 5 6 |
function myFunction({ param1 = defaultValue1, param2 = defaultValue2, ...rest }) { console.log(param1, param2, rest); } myFunction({ param1: 'value1' }); // выведет: 'value1', 'defaultValue2', {} myFunction({ param2: 'value2', param3: 'value3', param4: 'value4' }); // выведет: 'defaultValue1', 'value2', { param3: 'value3', param4: 'value4' } |
Здесь мы создали функцию myFunction
, которая принимает объект с параметрами. Параметры param1
и param2
имеют значения по умолчанию, а также есть возможность передавать дополнительные параметры с помощью объекта rest
.