KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I read a few questions and answers about javascript dictionary implementations, but they don't meet my requirements: the dictionary must be able to take objects as keys the values must be accessible by the [] -operator So I came up with the idea to overwrite the valueOf -method in Object.prototype , as follows: Object.__id__ = 0; Object.prototype.valueOf = function() { if(!this.__id__) this.__id__ = ++Object.__id__; return "__id__" + this.__id__; } Object.prototype.toString = Object.prototype.valueOf; //test var x = {p1: "5"}; var y = [6]; var z = {}; z[x] = "7"; z[y] = "8"; console.log(z[x], z[y]); I tested this with google-chrome and it seems to work well, but I'm a bit sceptical, whether this will cause some drawbacks, since it was so easy to implement. Considering that the valueOf method is not used for other purposes in the whole code, do you think there are any disadvantages?
Tags (comma-separated)
Save Edits
Cancel