tolowercase sirve que para not javascript string lowercase

javascript - sirve - .toLowerCase no funciona, función de reemplazo?



tolowercase javascript (5)

El método .toLowerCase me da un error cuando trato de usarlo en números. Esto es lo que tengo:

var ans = 334; var temp = ans.toLowerCase(); alert(temp);

Y luego me da este error:

''undefined'' is not a function (evaluating ''ans.toLowerCase()'')

No sé de dónde saqué esto mal. Siempre pensé que los números también se pueden analizar, sin ningún cambio en el resultado (tal vez es allí donde llené).

Pero si ese no es el error, ¿alguien puede escribir una función personalizada makeLowerCase , para hacer que la cadena sea minúscula, quizás usando expresiones regulares o algo así?


Es un número, no una cadena. Los números no tienen una función toLowerCase() porque los números no tienen mayúsculas y minúsculas en primer lugar.

Para hacer que la función se ejecute sin error, ejecútela en una cadena.

var ans = "334";

Por supuesto, la salida será la misma que la entrada ya que, como se mencionó, los números no tienen caso en primer lugar.


La función .toLowerCase solo existe en cadenas. Puede llamar a String () en cualquier cosa en javascript para obtener una representación de cadena. Poniendo esto todo junto:

var ans = 334; var temp = ans.toString().toLowerCase(); alert(temp);


Los números heredan del constructor Number que no tiene el método .toLowerCase . Puedes buscarlo como una cuestión de hecho:

"toLowerCase" in Number.prototype; // false


No es un error Javascript gustosamente convertirá un número en una cadena cuando se espera una cadena (por ejemplo, parseInt(42) ), pero en este caso no hay nada que espere que el número sea una cadena.

Aquí hay una función makeLowerCase . :)

function makeLowerCase(value) { return value.toString().toLowerCase(); }


var ans = 334 + ''''; var temp = ans.toLowerCase(); alert(temp);