As of ECMAScript 2015 (ECMA-262 6th Edition / June 2015), Maps (the spec and MDN docs) can be used to store objects —or any other "arbitrary ECMAScript language values"— as keys.
Map