各位老板同学,请教一个问题啊

TypeScript里面有没有反射功能,比如字符串是变量名,我想获得这个变量名的调用赋值~~~

比如 class attri_select {
buff_id:string;
system_type:string;
}
let obj = new attri_select ();

string param = “buff_id”;

怎么用param变量,访问obj对象的的buff_id变量

当param === “buff_id” 的时候,obj[param] === obj.buff_id; 你想要说的是这个吗

你想说的是buff_id这个变量名本身是动态的?

我天, 这不就普通获取属性吗,这跟反射什么关系啊。

可能我没说清楚。。。。是用字符串 ,反射 出变量

var exce:string = ‘obj.’ + paramStr[k] + ‘=’ + valueStr[k] + ‘;’;
eval(exce);

结贴了哈,麻烦了~~~~~

使用 eval 要注意,好像在微信小游戏里不支持

1赞

额,好吧,多谢提醒啊,谢谢谢谢,我是想做一个数据表的映射,免得一张一张表的写加载。那这样看这个方法是不行了啊。写好了,测试通过,还以为很好用。。。尴尬,那请问还有什么好的办法不,除了用eval。

obj[param]

1赞

表加载很麻烦吗?我觉得你写字符串拼接也挺麻烦的。:joy:

谢谢老板,确实很好用。刚开始做TS-cocos,感谢吧回复~~。