使用字符串引用访问字段?

时间:2015-09-15 22:30:18

标签: haxe

您是否可以使用字符串引用访问字段,例如JS?

var o = {hello: "world"};
var ref = "hello";
console.log(o[ref]); //"world"

3 个答案:

答案 0 :(得分:4)

Reflect.field (o:Dynamic, field:String):Dynamic

返回对象o上名为field的字段的值。 如果o不是对象或没有字段命名字段,则结果为null。 如果该字段被定义为属性,则忽略其访问者。有关支持属性访问器的函数,请参阅Reflect.getProperty。

http://api.haxe.org/Reflect.html#field

答案 1 :(得分:4)

当然可以:

var o = {hello: "world"};
var ref = "hello";
trace(Reflect.field(o, ref));

答案 2 :(得分:4)

要添加其他答案,您还可以abstract使用@:arrayAccess方法。

http://try.haxe.org/#79215