Как я открыл для себя eval()…

Я нахожусь в процессе создания приложения React/Redux Gadget, в котором есть калькулятор, обновление погоды, конвертер единиц измерения и инструменты календаря. Во время разработки калькулятора я смог поместить все входные данные в одну строку и сохранить ее в хранилище Redux.

Я хотел реализовать логику в редюсере, а затем получить его из моего хранилища Redux с помощью функции mapStateToProps.

Мой первоначальный путь состоял в том, чтобы использовать регулярные выражения (регулярные выражения) для проверки правильности ввода, затем разделить строку, сопоставить ее, найти каждую группу чисел / символов-операторов и получить результат после того, как они все будут проверены.

Я хотел вычислить длинный ввод со многими группами чисел и выражениями в скобках. Было очень сложно добиться успешного выполнения из-за пограничных случаев. Должен быть другой способ, более эффективный.

Проведя небольшое исследование и прочитав разные сообщения в блогах, я наткнулся на функцию eval().

«eval()» — это встроенная функция JavaScript, которая может оценивать или выполнять то, что передается в скобках.

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

Это отличный способ справиться с простыми математическими вычислениями при создании калькулятора для приложения на основе JavaScript.

Спасибо за чтение.