【发布时间】:2015-11-27 16:26:19
【问题描述】:
我正在创建一个要向其中添加自定义类对象的地图,
var member_map = {};
var memberAction = new MemberActions(members.data[i].id, members.data[i].name);
member_map[memberAction.id] = memberAction;
现在,当我尝试使用 ID 从地图中取回 MemberActions 对象时,我得到的是 Object 而不是 MemberActions 对象。
var memberAction = member_map[fetch_id];
如何投射对象?
编辑: 我的班级定义:
class MemberActions {
constructor(id, name) {
this.id = id;
this.name = name;
}
}
【问题讨论】:
-
这是使用新的 ES6 类语法吗?
-
是否有其他代码与 member_map 交互?它是保存到 JSON 还是什么的?
-
member_map是否曾经存储为文本,也许是 JSON?仅凭您在此处提供的内容,您所描述的内容不应该发生–jsfiddle.net/8tyec8dm。但是,JSON 没有自定义类型的概念。 -
我只是在实例化一个类实例并存储在地图中
-
@AadiDroid:您能否发布一个完整的示例(例如,包括
members和fetch_id)?我们无法重现您的问题。另外,你如何执行 ES6,是否涉及转译?还有,你是怎么确定你找回的对象不再是MemberAction了?
标签: javascript ecmascript-6 javascript-objects