var params = {x:4, y:5}; var func = new Function(...Object.keys(params), 'return x+y'); func(...Object.values(params)) вообще если в лоб решать то типо так, но надо условиться что так ты сделаешь какую то херню и стоит явно указывать какие имена переменных будут переданны в каком порядке
я так понимаю это почти эквивалентно with(params){}?
просто with стараются не использовать, а это просто деструктуризация
понимаю, по этим же соображениям смотрю можно ли обойтись без with
меня смущает что ты все равно при описании тела функции должен знать имена переменных и сколько их, что динамическая составляющая которую ты пытаешься добиться теряет смысл
а тело функции тоже составляется динамически )
понял. а что за такую интересную задачу ты решаешь?
калькулятор пишу ) грубо говоря eval (2+2)
я просто на базе new Function видел реализацию системы плагинов, а ля как в фигме это делается. Когда нужно сторонний код запустить внутри приложения предоставляя интерфейс для взаимодействия с внутренним ядром грубо говоря. Интересная тема, есть куда копать
вот еще если интересно https://github.com/Agoric/realms-shim Realms API щас уже в stage 2
слишком сложно. я туплю даже в своих полутора переменных
Обсуждают сегодня