2 недели назад
Язык JavaScript - Синтаксис "new Function"
Вы знаете несколько способов создать функцию. Function Declaration, Function Expression, стрелочные функции. Но есть ещё один. Тёмный. Мощный. Опасный. Встречайте конструктор Function. Он позволяет создавать функции из строк. Да, прямо из строк, которые могут быть сгенерированы динамически, прийти с сервера или быть введены пользователем. Это звучит как суперсила. И это действительно суперсила. Но с такой силой приходит не просто ответственность - приходит опасность. new Function - это дверь в мир eval-подобных проблем: уязвимости безопасности, проблемы с производительностью и нечитаемый код...