Trying to define a hashCode
method on Object.prototype
as well as String.prototype
and Number.prototype
. I'm defining the prototype methods using:
Object.defineProperty(Object.prototype, 'hashCode', {
value:function() {/*code*/},
enumerable:false
});
String.prototype.hashCode = function() {/*code*/};
Number.prototype.hashCode = function() {/*code*/};
When I create a number or string with any of (''
, new String()
, 3
, new Number()
), and call hashCode
on the instance, the Object.prototype.hashCode
method always runs instead of String.prototype.hashCode
or Number.prototype.hashCode
.
What's wrong?