How to access the value of an object from inside a method of the same object in Javascript?
-
10-07-2019 - |
Question
I'm trying to add a toBool() "method" inside the Object object using prototype... something like this:
Object.prototype.toBool = function ()
{
switch(this.toLowerCase())
{
case "true": case "yes": case "1": return true;
case "false": case "no": case "0": case null: return false;
default: return Boolean(string);
}
}
var intAmount = 1;
if(intAmount.toBool())
But I'm having an issue trying to access the value of the object from inside the same object method this.toLowerCase()
How should it be done?
Solution
Your code doesn't work because toLowerCase() is a method of String, but not of Number. So, when you try to call toLowerCase() on the number 1, it doesn't work. A solution would be just to convert the number to string first:
Object.prototype.toBool = function ()
{
switch(String(this).toLowerCase())
{
case "true": case "yes": case "1": return true;
case "false": case "no": case "0": case null: return false;
default: return Boolean(string);
}
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow