我认为这是不可能的(在JavaScript中),这是由于持久性的序列化?
ActionScript3允许将对象实例作为键flash.utils.Dictionary
然后,字符串Id将服务于实例的相同唯一性目的,对吗?
这就是ES6 Map
的用途,它允许使用对象作为键:
var map = new Map(); var obj1 = {}; var obj2 = {}; // identical, but not the same map.set(obj1, 'value'); map.get(obj1); // 'value' map.get(obj2); // undefined
演示(Firefox和IE 11):http://jsbin.com/ehIgEha/1/edit?js,console,浏览器支持:http://kangax.github.io/compat-table/es6/#Map