Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
6
respuestas

Duda en El Ejercicio

Tengo una duda, se supone que la respuesta a este codigo es :

La media de las edades es 34004.

ya que en la Variable EDAD2 se crea una conconotacion con un texto, por que se crea esta respuesta?

tengo esa duda...

alguien que pueda ilustrame seria util.. Saludos

6 respuestas

Hola Victor, como EDAD2 = "20" es un string, al sumarlo con EDAD1 = 10 lo va a concatenar dando 1020 este valor que es un string también se concatena con EDAD3 = 12. De manera que queda 102012 . Como JS puede cambiar los tipos dinamicamente. Tomará a 102012 como un numero y por eso al dividirlo por 3 da como resultado 34004.

<script>
    var EDAD1 = 10;
    var EDAD2 = "20";
    var EDAD3 = 12;
    document.write("La media de las edades es <br>");
    document.write( (EDAD1 + EDAD2 + EDAD3) / 3);
</script>`

PD: Los cambios a tipos dinamicos solo suceden si el lenguaje puede interpretar el string como un número. Por ejemplo, si EDAD2 = "L22" ,el resultado sera NaN (Not a Number) dado que no la puede convertir y mucho menos sumar con un número. Un saludo

Victor tal cual como te lo acaba de decir Luis, todo el problema viene porque edad2 es un string, pero luis lo explico muy bien.

Hola,

Tenía la misma duda que Víctor, gracias a Luis por la excelente explicación. Siempre es bueno venir al foro para despejar dudas.

Saludos

Excelente explicación Luis!

La misma duda tenia yo. Pero yo me quede pensando a se concatenaba a partir del segundo dato, no que convietiera a los 3.

Pero no solo convierte los 3, sino que entiende que aun debe promediar entre 3.

El debug de un codigo es divertido, casi siempre jajaja

Adicional a todo lo que han dicho:

Si al ejecutarlo no presenta ningún error y da como respuesta así:

La media de las edades es 34004

Es muy raro pero gracias a Luis por explicarlo ahora se de donde salió ese número 34004.

Yo también tenia esta duda del ejercicio. Muchas gracias Luis por tu aclaración.