> Как улучшить сигнатуру функции, чтобы избежать передачи undefined? (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Исходный Код

Стек: JavaScript

> Пример ответа

Чтобы избежать передачи undefined в функцию, можно применить несколько подходов:

  1. Значения по умолчанию (ES6) - самый простой способ:
JAVASCRIPT
function greet(name = 'Гость') {
console.log(`Привет, ${name}!`);
}
greet(undefined); // "Привет, Гость!"
  1. Деструктуризация с умолчаниями для объектов-параметров:
JAVASCRIPT
function createUser({ name = 'Аноним', age = 18 } = {}) {
// ...
}
  1. Явная проверка и выбрасывание ошибки (строгий режим):
JAVASCRIPT
function processData(data) {
if (data === undefined) {
throw new Error('data обязателен');
}
// ...
}
  1. TypeScript - статическая типизация предотвращает передачу undefined на этапе компиляции:
TYPESCRIPT
function greet(name: string) { ... } // undefined вызовет ошибку
  1. Паттерн "опциональный объект" с проверкой через ??:
JAVASCRIPT
function fetchData(options) {
const url = options?.url ?? '/default';
// ...
}

Рекомендуется комбинировать значения по умолчанию с TypeScript для максимальной надёжности.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью