Como acessar o valor de um objeto de dentro de um método do mesmo objeto em JavaScript?
-
10-07-2019 - |
Pergunta
Eu estou tentando adicionar um () "método" toBool dentro do objeto Objeto usando o protótipo ... algo como isto:
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())
Mas eu estou tendo um problema tentando acessar o valor do objeto de dentro do mesmo this.toLowerCase()
método de objeto
Como isso deve ser feito?
Solução
Seu código não funciona porque toLowerCase () é um método de String, mas não da Number. Então, quando você tenta toLowerCase call () do número 1, ele não funciona. Uma solução seria apenas para converter o número para string primeiro:
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);
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow