100['toString'] //does not fail
100.toString //fails
¿por qué?100.toString vs 100 ['toString']
100.toString no es lo mismo que 100.toString(). Entonces, ¿por qué en el segundo caso no obtengo la función como valor devuelto?
100['toString'] //does not fail
100.toString //fails
¿por qué?100.toString vs 100 ['toString']
100.toString no es lo mismo que 100.toString(). Entonces, ¿por qué en el segundo caso no obtengo la función como valor devuelto?
La segunda línea falla porque se analiza como un número "100.", seguido de "toString".
Para utilizar la notación de punto, cualquiera de los siguiente trabajo:
(100).toString
100.0.toString
100..toString
var a = 100;
a.toString
Si usted está tratando de llamada la función toString
, también tendrá que incluir los paréntesis:
(100).toString()
100.0.toString()
100..toString()
var a = 100;
a.toString()
Prefiero usar paréntesis (o una variable, si ya la tengo), porque las alternativas podrían ser confusas y poco intuitivas.
Use (100).toString
en su lugar.
Parens es la mejor manera de hacerlo. También tienes el mismo problema con las definiciones de función.
function() {}.call() => fails
(function() {}).call() => succeeds
Otro ejemplo: '100..toString()' funciona tan bien desde el primer periodo se cuenta como parte del número, y el segundo como parte de la sintaxis acceso a la propiedad. –
Tenga en cuenta que '100' y' 100.0' no son lo mismo. – Gumbo
@Max, buen punto. Parece algo gracioso, pero agregaré eso también. –