Параметры и аргументы

Параметры — это имена переменных, которые указываются в скобках при объявлении функции. Они определяют, какие данные функция ожидает получить.

Аргументы — это реальные значения, которые передаются функции при её вызове.

Пример:

function greet(name, age) {  // name и age — параметры
  return 'Привет, ' + name + ', тебе ' + age + ' лет';
}

console.log(greet('Анна', 25));  // 'Анна' и 25 — аргументы

Здесь name и age — параметры. При вызове greet('Анна', 25) передаются аргументы 'Анна' и 25. Каждый аргумент присваивается соответствующему параметру.

Если аргументов меньше, чем параметров — остальные получат значение undefined:

console.log(greet('Иван')); // Привет, Иван, тебе undefined лет

Чтобы избежать undefined, можно задать значения по умолчанию:

function greet(name, age = 18) {
  return 'Привет, ' + name + ', тебе ' + age + ' лет';
}

console.log(greet('Иван')); // Привет, Иван, тебе 18 лет
console.log(greet('Мария', 22)); // Привет, Мария, тебе 22 лет

Значения по умолчанию работают для любого параметра — не только последнего:

function createTask(title = 'Новая задача', priority = 'средний', completed = false) {
  return { title, priority, completed };
}

console.log(createTask()); // { title: 'Новая задача', priority: 'средний', completed: false }
console.log(createTask('Удалить кеш')); // { title: 'Удалить кеш', priority: 'средний', completed: false }

Это особенно полезно в приложениях, где параметры часто не обязательны — например, настройки темы, уведомления, таймауты. Вы можете задать разумные значения по умолчанию и не проверять каждый аргумент вручную.