用字符串代替多个参数调用Typescript函数

用字符串代替多个参数调用Typescript函数,typescript,Typescript,我有一个typescript函数,有多个参数,我想用一个字符串调用。例如。 fn(a:string,b:number,c:boolean){…} 例如,假设我有 let str:string=“a'a',b:5,c:false” 有没有直接调用函数的方法(除了解析这个字符串之外)?显然,这只是电话 let result=fn(str) 不起作用 有没有直接调用函数的方法(除了解析这个字符串之外) 简短回答: 没有 更长的回答: Javascript没有提供将函数和参数列表编码为字符串的好方法

我有一个typescript函数,有多个参数,我想用一个字符串调用。例如。
fn(a:string,b:number,c:boolean){…}

例如,假设我有
let str:string=“a'a',b:5,c:false”
有没有直接调用函数的方法(除了解析这个字符串之外)?显然,这只是电话
let result=fn(str)
不起作用

有没有直接调用函数的方法(除了解析这个字符串之外)

简短回答:

没有


更长的回答:

Javascript没有提供将函数和参数列表编码为字符串的好方法

您需要以某种方式将该数据编码为字符串,然后将该数据解码为正确的格式以使用其包含的数据。您可以将其编码为JSON,例如:

const json = '{ "a": "A", "b": 5, "c": false }'
const { a, b, c } = JSON.parse(json)
fn(a, b, c)
但这意味着根据自定义逻辑对该字符串进行编码/解码,这是您说过不想做的


错误答案:

使用eval:

const myEvilStr = "fn('A', 5, false)"
eval(myEvilStr)
这在学术上很有趣,但是,嗯,是的,不要这样做。永远

如果我还没有卖掉它,一些关于为什么不这样做的阅读:

有没有直接调用函数的方法(除了解析这个字符串之外)

简短回答:

没有


更长的回答:

Javascript没有提供将函数和参数列表编码为字符串的好方法

您需要以某种方式将该数据编码为字符串,然后将该数据解码为正确的格式以使用其包含的数据。您可以将其编码为JSON,例如:

const json = '{ "a": "A", "b": 5, "c": false }'
const { a, b, c } = JSON.parse(json)
fn(a, b, c)
但这意味着根据自定义逻辑对该字符串进行编码/解码,这是您说过不想做的


错误答案:

使用eval:

const myEvilStr = "fn('A', 5, false)"
eval(myEvilStr)
这在学术上很有趣,但是,嗯,是的,不要这样做。永远

如果我还没有卖掉它,一些关于为什么不这样做的阅读:


您可以使用JSON格式并将字符串化,然后
JSON.parse
字符串。可能使用数组而不是对象。您可以使用JSON格式并字符串化,然后解析字符串。可能使用数组而不是对象。谢谢,对我来说足够了。谢谢,对我来说足够了。