使用字符串引用访问字段?
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。
当然可以:
var o = {hello: "world"};
var ref = "hello";
trace(Reflect.field(o, ref));
要添加到其他答案中,您还可以使用 abstract
和 @:arrayAccess
方法。
你能像在 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。
当然可以:
var o = {hello: "world"};
var ref = "hello";
trace(Reflect.field(o, ref));
要添加到其他答案中,您还可以使用 abstract
和 @:arrayAccess
方法。