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

Declaración de variable promedio

En el vídeo que el profesor explica ¿por qué no declaró la variable promedio? Y por otra parte ¿Por qué utilizan var tengo entendido que se utiliza let?

14 respuestas

Hola Jhuleidy, en Javascript despues de declarar la variable por primera vez no es necesario volver a hacerlo, aunque es una buena practica hacerlo. Creo que si ahora se utiliza 'const' y 'let' en vez de 'var', aunque no se si se remplazo por completo o en algunos casos se sigue utilizando 'var'. Supongo que el instructor decidio explicar las variables con 'var' para que sea mas sencillo de comprender como es que funcionan y no entrar en el tema del 'scope', para un principiante puede llegar a ser mucha informacion.

Saludos!

En efecto cada método de declarar variables tiene una finalidad y son útiles en diversos casos, pueden apoyarse de la ayuda técnica para poder comprender mejor:

Nadie contestó la pregunta principal ¿por qué no se declaró la variable "promedio"? Nunca fue declarada...

Variable promedio![Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad](https://cdn1.gnarususercontent.com.br/6/411444/a97af3c1-734e-4465-ad64-1f3cf8f1297f.png)

En el caso especifico no se crea la variable aunque es lo mejor declarar primero, principalmente si son variables definidas con la sentencia "var" JavaScript no lo exige pero es una buena practica, luego se hacen los cálculos necesarios y finalmente se muestran eso hace mas legible el código de paso es aconsejable dejar comentarios para que otros programadores o nosotros mismos en un futuro sepamos que hace el programa. Podríamos hasta haber cambiado de lenguaje y haber olvidado detalles de nuestros primeros pasos.

Paro bien el instructor tomo a bien realizar los cálculos directo en la sentencia write (para eso debe dejar los cálculos entre paréntesis, luego el resultado de esos cálculos por defecto se concatena al texto con el símbolo "+"

<meta charset="UTF-8">
<script>
    document.write("El promedio de las edades de las tres mujeres es : " + (10+25+13)/3);
    document.write("<br>");
</script>

luego observamos mas adelante como mas adelante asigna un valor a la variable promedio pero no la declaro nunca. Eso es algo que JavaScript permite al igual que otros lenguajes menos exigente como Python. Pero no es aconsejable para mantener el código legible. Lenguajes mas exigentes como JAVA, C#, Cobol, Pascal, Delphi y otros el declarar y definir el tipo de las variables con anticipación es necesario. (lenguajes fuertemente tipados). Otro aspecto importante es que en JavaScript si no se antepone una sentencia como: var, let, const antes de declarar o asignar variables se asume que es con "var" por defecto

variable promedio establecida y no declarada s

Gracias !

Gracias

Hola a todos, los estuve leyendo y me ayudaron a entender que promedio es una variable sólo que no declarada, ¿estoy en lo correcto? Pero me surgieron otras dudas más: -¿Las formulas no tienen que tener un doble paréntesis? (En ese caso encerrando la división por 3). Lo probé y funciona igual, pero lo pregunto por si hay alguna convención al respecto. -En el minuto 13:38, Christian se refiere a Math.round(promedio) como un "número con una función". Allí es donde me confundo un poco: Math.round es la función que se aplica a la fórmula promedio, no? ¿Por más que la fórmula me vaya a dar un número me refiero y la considero a ella como número o como fórmula? -Otra pregunta que no tiene nada que ver pero que tengo desde el principio: al intentar poner breaks más de una vez en cualquier document.write, sea que solo contenga los saltos o estén al inicio o al final de los strings, funciona igual que si los pusiera uno por línea. ¿Eso es considerado como mala práctica según alguna convención?

Muchas gracias!

Hola Alexandra,

A tu primer pregunta, en realidad no es una formula, sino una funcion Math.round, que tien por finalidad redondear un valor numerico que se le pasa como argumento. El resulto es un valor numerico, ahora bien, segun donde lo uses podria ser tratado como una cadena de texto (caso del ejemplo de la clase, se concatena con una cadena de texto por lo tanto el resultado de math.round sera tratado como texto.

A tu segunda consulta, no es que para este caso exista una convencion, sino que tu ejemplo de usar vario en un mismo document.write si bien no esta mal, no es practico para el mantenimiento del codigo y su interpretacion. A mi modo de ver, es preferible el uso de una linea por

Hola Pablo, gracias por tomarte el tiempo para responder. Hay algunas cosas que siento que no me leíste bien al parecer, hice 3 preguntas y no las mezclé. Por ejemplo, la primera hablaba de la variable promedio la cual contiene una fórmula, lo menciona textualmente Christian en el video; mi duda era si toda la fórmula de promedio no debería llevar otro paréntesis más encerrando toda la cuenta. Después en mi segunda duda, nunca me referí a Math.round como una formula, incluso en mi pregunta di a entender que es una función que se le aplica al promedio, ahí es donde creo que mezclaste mis dudas. Sobre tu aporte, ¿Cómo es posible que el resultado de la formula de promedio, que nos devuelve un número redondeado gracias a la función Math.round sea considerado un texto, siendo que es un número y no está entre comillas para ser considerado un texto? Muchas gracias por tu ayuda en la tercer pregunta!

Hola. Según entiendo es así: Los paréntesis están bien, como está escrito se entiende que el 3 divide a toda la expresión matemática que está entre paréntesis. El orden sería así:

  1. El comando document.write
  2. luego se habre paréntesis y se procede a escribir lo que se quiere imprimir
  3. en este caso sería primero un string
  4. luego el signo + para CONCATENAR (no se imprime por supuesto)
  5. una operación matemática que consta de una suma dividida un número que al estar escrita en horizontal y no como fracción se debe encerrar entre paréntesis para que se entienda de que toda la suma está dividida por ese número.
  6. se cierra paréntesis.

La concatenación tiene dos térmios, uno es el string y el otro es la operación matemática.

La función Math.round lo que hace EN ESTE CASO es quitar los decimales del resultado para obtener un número entero. Concretamente redondear 16,6666666667 a 17 porque pasa de 16,5 entonces redondea hacia arriba, si el resultado fuera 16,4 quedaría como resultado 16...

¿Por qué javascript lo trata como un texto? Voy a citar developer.mozilla.org

Números versus cadenas

  1. Entonces, ¿qué sucede cuando intentamos agregar (o concatenar) un string y un número? Vamos a probar en la consola:

    'Front ' + 242;

    Podrías esperar que diera un error, pero funciona a la perfección. Tratar de representar un string como un número no tiene sentido, pero representar un número como string si que lo tiene, así que el navegador convierte el número en una string y las muestra juntas.

https://developer.mozilla.org/es/docs/Learn/JavaScript/First_steps/Strings

Si me equivoco pido disculupas y que me corrigan. Saludos.

Excelente Sergio, muchísimas gracias por hacer el repaso, me sirvió para repasar los conceptos y por suerte entendí todo como usted y citando lo de Mozilla lograste quitarme la última duda que tuve!!

Recuerden que el profe dice que hay varios caminos para llegar a un mismo lugar...

Muy buen aporte Sergio, deja muy claro todo

Alexandra Vanesa Franco en cuanto a los paréntesis en la formula puedes guiarte de con el orden de operaciones y signos de agrupación en matemática JavaScript los maneja igual. Al comprobar que da siempre el mismo resultado al agregar el que tu sugieres o no queda demostrado. Al concatenar Strings-cadenas-texto con números JavaScript convierte los números de forma automática en texto por esa razón no se hace algo antes. La duda tiene mucho sentido y en otros lenguajes que son mas fuertemente tipados puede generar error y es necesario usar otros métodos al querer enviar mensajes combinado texto y numéricos. Finalmente la función como Explico Sergio es para redondear el resultado (quitar los decimales).

Por cierto que bonita interacción aprendemos juntos

Muchas gracias Guillermo, muy claro y aprendi mucho! Me encanta cuando me enseñan las diferencias con otros lenguajes que desconozco, es muy interesante. Siempre se me ocurren probar diferentes formas de escribir el código para descubrir sus alternativas y posibles errores de sintaxis o mal uso por convención, por eso hago preguntas tan minuciosas. Siento que son como reglas que hay que respetar y cuando hay opciones que resultan bien igual me surge la duda de si estoy respetando la buena practica/convención. Gracias por la ayuda a todos!!!