> Как улучшить сигнатуру функции, чтобы избежать передачи undefined? (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Исходный Код
Стек: JavaScript
> Пример ответа
Чтобы избежать передачи undefined в функцию, можно применить несколько подходов:
- Значения по умолчанию (ES6) - самый простой способ:
JAVASCRIPTfunction greet(name = 'Гость') {console.log(`Привет, ${name}!`);}greet(undefined); // "Привет, Гость!"
- Деструктуризация с умолчаниями для объектов-параметров:
JAVASCRIPTfunction createUser({ name = 'Аноним', age = 18 } = {}) {// ...}
- Явная проверка и выбрасывание ошибки (строгий режим):
JAVASCRIPTfunction processData(data) {if (data === undefined) {throw new Error('data обязателен');}// ...}
- TypeScript - статическая типизация предотвращает передачу
undefinedна этапе компиляции:
TYPESCRIPTfunction greet(name: string) { ... } // undefined вызовет ошибку
- Паттерн "опциональный объект" с проверкой через
??:
JAVASCRIPTfunction fetchData(options) {const url = options?.url ?? '/default';// ...}
Рекомендуется комбинировать значения по умолчанию с TypeScript для максимальной надёжности.
> Похожие задачи по frontend
Как удалить дубликаты из массива чисел и строк без использования Set в JavaScript?
Уровень: seniorКатегория: Технические вопросы
Компания: Tilda
Стек: JavaScript
Как проходят таски в event loop
Уровень: seniorКатегория: Технические вопросы
Компания: Tilda
Стек: JavaScript
Как модифицировать и отображать данные во frontend?
Уровень: seniorКатегория: Технические вопросы
Компания: TradeLink
Стек: JavaScript
Что происходит после выполнения микротасков в JavaScript и как обрабатываются макротаски и синхронный код?
Уровень: seniorКатегория: Технические вопросы
Компания: Альфа-банк
Стек: JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью