Как передать параметр по умолчанию и опциональный параметр вместе?

В JavaScript можно передавать параметры функции по умолчанию и опциональные параметры вместе, используя различные подходы.

Первый подход - использование условных выражений внутри функции. Например, мы хотим создать функцию, которая будет принимать два параметра - имя и возраст, при этом возраст должен быть опциональным параметром со значением по умолчанию равным 0. Мы можем сделать это следующим образом:

function greet(name, age) {
   if (age === undefined) {
     age = 0;
   }
   console.log("Привет, " + name + ", тебе " + age + " лет!");
}

В данном случае мы проверяем, если параметр age не был передан функции, то устанавливаем ему значение 0.

Второй подход - использование оператора слияния с помощью знака =. Этот подход является более новым и удобным. Для нашего примера мы можем написать следующий код:

function greet(name, age = 0) {
   console.log("Привет, " + name + ", тебе " + age + " лет!");
}

В данном случае, если параметр age не будет передан функции, то ему будет установлено значение по умолчанию, указанное после знака "=".

Оба подхода являются корректными в JavaScript и вы можете использовать любой из них в зависимости от предпочтений и требований вашего проекта.