@Ventus

Как преобразовать строку в оператор?

Имею строковое значение:
const operator = '+';

Каким образом преобразовать operator в обыкновенный оператор сложения (то есть преобразовать строковое значение константы в знак сложения)? Позволяет ли язык JS сделать что-то подобное или остается пользоваться switch?
  • Вопрос задан
  • 4894 просмотра
Решения вопроса 2
@iddqda
network engineer, netdevops
еще можно сделать как в питоне
d = {'+': (a,b) => a+b, '-': (a,b) => a-b }
const sum = '+'
d[sum](123,321)
444

const minus = '-'
d[minus](123,321)
-198


хотя это тот же свич по сути
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
const a = "10";
const b = "20";
const operator = "+";

const formula = a + operator + b;

console.log(eval(formula)); // 30


Помните о том что `eval()` - опасная штука. Может выполнить все что угодно.

https://jsfiddle.net/c9L4j1bq/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы