Hoy estaba intentando imprimir letras al azar usando nodejs. De alguna manera traté de imprimir 'banana' en el registro, pero desafortunadamente extraño n (letra) para iniciar sesión, pero aún funciona bien. ¿Por qué imprime banana entero en lugar de 'baaa'?
('b' + 'a' + + 'a' + 'a').toLowerCase(); La salida es banana , pero ¿por qué? Incluso si + + (carácter vacío) genera NaN , debería imprimir bananaa no solo banana .
Captura de pantalla:
El + adicional actúa como un operador unario en la siguiente 'a' e intenta forzarlo a un número, lo que da como resultado NaN. Los símbolos + restantes se interpretan como una concatenación de cadenas que hace que NaN se convierta en una cadena, es decir. ('b' + 'a' + + 'a' + 'a') = ('b' + 'a' + NaN + 'a') = ('baNaNa') .
Interesante !!
console.log(('b' + 'a' + + 'a' + 'a').toLowerCase()); console.log(('b' + 'a' + + 'a' + 'a')); console.log(( 'a' + + 'b' )); //output banana baNaNa aNaN En la tercera declaración, la 'b' no se imprime como + + 'b' = NaN //not a number y .toLowerCase() lo convierte en nan , de ahí la palabra banana
Dado que no está agregando nada con nada, lo más probable es que devuelva NaN