4
respuestas

[Duda] ¿Por qué da ese resultado?

Me pregunto porque da como resultado de la operación 34004, ¿que significan esos numeros?

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

4 respuestas

Hola! es un poco complicado de explicar pero ahi va: en la EDAD2 le estas dando un parametro entre comillas eso significa que JavaScript lo toma como texto no como numero, y cuando se hace suma de un texto con otro valor ya sea texto o numero, este otro valor automaticamente se vuelve texto tambien, en tu caso al sumar 10+"20"+12, primero hizo "10"+"20"+"12" y despues lo concateno ya que son textos "102012". Ahora pasa al reves con la multiplicacion y la divison, si das un texto y divides con un numero, transformara automaticamente el texto en numero (claro si este texto tiene literales numericos sinos dara error). Ejemplo "20"/4 esto se hara primero 20/4 y de ahi te votara 5. Si fuera "abc"/3 te dara error. Por eso en tu ejemplo paso esto --> (10+"20"+12)/3 --> ("10"+"20"+"12")/3 --> ("102012")/3 --> 102012/3 --> 34004.

La solucion es usar parseInt en tus variables para que siempre lo guarde como numero y no como texto.

Gracias! tenía la misma duda

Estaba repasando y me quedé con esa duda, gracias por la explicación!!!

Muchas gracias