только через eval. но и то и другое это антипаттерн, тебя занесло не в ту сторону куда-то. может быть так поприятнее будет? const actions = { increase() { // }, decrease() { // } } actions[action]();
Было что-то взамен eval, безопаснее (тут не нужно)
что?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function видимо вот
1) Не вижу, что в этом более безопасного, чем eval. 2) However, unlike eval(), the Function constructor creates functions that execute in the global scope only (() => { const x = 123; (new Function('console.log(x)'))(); })() >> VM3590:3 Uncaught ReferenceError: x is not defined
Я читала что-то на тему "добавляется куда-то и поэтому..."
🤷♂️ единственное применение этой штуке вижу - eval кода, внутри которого есть await. но результат не идентичен eval, из-за поведения return в обоих случаях
Обсуждают сегодня