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

Access fields using string reference?

你能像在 JS 中一样使用字符串引用访问字段吗?

var o = {hello: "world"};
var ref = "hello";
console.log(o[ref]); //"world"
Reflect.field (o:Dynamic, field:String):Dynamic

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

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

当然可以:

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

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

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