I am trying to do Objectthat, when searching for a property, it does a “case-insensitive” search for this property.
var x = new CaseInsensitiveObject();
x.firstProperty = "Hello!";
alert(x.firstproperty);
I tried using Object.defineProperty()for this, but it requires a string literal for the property as a parameter (it Object.defineProperties()will have the same problem if you think about it).
Is there a way I can set for an object getterfor all properties of an object without specifying a key name? i.e:
Object.defineAllProperties(obj, {
get: function(prop)
{
if(!prop.toLowerCase && prop.toString)
prop = prop.toString();
if(prop.toLowerCase)
prop = prop.toLowerCase();
return this[prop];
}
});
If not all properties, how can I set even one property to Objectbe case insensitive ?!
Note:
, Object.prototype , . - . , . - , , - . , , , .
!