Встречается на собеседованиях • сегодня

В каких случаях нельзя использовать конструктор Function

Использование Function не рекомендуется в нескольких случаях:

  1. Безопасность: Function выполняет переданную строку как код, что может привести к XSS-атакам, если строка получена из ненадёжного источника.
    javascript
    const userInput = "alert('Hacked!')";
    const func = new Function(userInput); // Опасность!
    func();
  1. Производительность: Создание функций через Function медленнее, чем обычные объявления (function или =>), так как парсится строка.

  2. Оптимизация: Движки JS (V8 и др.) хуже оптимизируют такие функции, что может снизить производительность.

  3. Отладка: Сложнее отлаживать код, так как он динамически генерируется.

  4. Strict mode: Код внутри Function не наследует strict mode из внешнего контекста, что может привести к неожиданностям.

Лучше использовать обычные функции или eval (если очень нужно), но с крайней осторожностью.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы