javascript - Typescript 中动态创建函数的形式参数

标签 javascript function typescript

在 Javascript 中,您可以动态创建函数,如下所示:

const func = new Function(['arg'], 'console.log(arg)');

以便可以使用给定参数调用它:func('Hello')。然而,在 Typescript 中,Function 构造函数似乎只接受一个参数,即函数体。有没有办法为动态生成的函数提供形式参数?

(安全说明:该代码来自值得信赖的来源,并且经验证,它可能包含的内容非常有限。)

最佳答案

Function 构造函数采用可变数量的字符串,就像 typescript 定义状态一样,最后一个是函数体:

new Function ([arg1[, arg2[, ...argN]],] functionBody)

这是根据docs

浏览器实现可能更宽松,但 typescript 遵守规范。

最简单的解决方案是按预期调用函数:

const func = new Function('arg', 'console.log(arg)');

或者,如果您已经有了参数数组:

const func = new Function(...['arg'].concat('console.log(arg)'));

关于javascript - Typescript 中动态创建函数的形式参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52696352/

相关文章:

javascript - Mongoose - 遍历对象

c# - 如何使 JQuery 屏蔽输入插件在 asp.net Ajax 更新面板中的 AsyncPostback 之后工作?

javascript - 如何从字符串中删除所有字符

function - 如何使用关联常量来定义数组的长度?

c++ - 在 C++ 中放置与类方法有关的辅助函数的位置

php - 将 PHP 代码实现为函数

javascript - 函数调用中的字符串与函数中定义的字符串的处理方式不同 - 奇怪的错误

typescript - 来自 TypeScript 的匿名类型对象的 Dart 等价物

angular - 如何使用 react 形式从输入中获取字符串

javascript - 如何将数据从一个组件传递到另一个组件以进行编辑表单?