用字符串代替多个参数调用Typescript函数
我有一个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没有提供将函数和参数列表编码为字符串的好方法
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格式并字符串化,然后解析字符串。可能使用数组而不是对象。谢谢,对我来说足够了。谢谢,对我来说足够了。