Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
7
respuestas

Entonces no es obligatorio el uso del comando "var" antes de crear una variable?

Hola! Veo que en varias ocasiones (como en el video de interacción con el usuario, con las variables que solicitará con prompt), se definen variables sin usar el comando "var" antes del nombre de la misma, sin que dé ningún problema al correr el código. Todo bien entonces? no es obligatorio usarlo en JS? Muchas gracias :)

7 respuestas
solución!

No es obligatorio declarar variables en Javascript, pero se considerá una mala práctica, dado que puede causar errores de los que es dificil encontrar la causa

Súper! Muchas gracias, Axel. Mi yo impaciente fue a preguntarle a la AI por curiosidad y me gustó mucho también su respuesta porque aprendí un poco más. Copio y pego, por si alguien más se topa con esta duda y le sirve.

"Sí, es posible omitir la palabra clave "var" al declarar una variable en JavaScript en versiones más recientes del lenguaje (ECMAScript 6 o superior). En su lugar, se pueden utilizar las palabras clave "let" y "const" para declarar variables.

La diferencia entre "let" y "const" es que "let" se utiliza para declarar variables que pueden cambiar su valor a lo largo del tiempo, mientras que "const" se utiliza para declarar variables cuyo valor no puede ser reasignado después de su definición.

Por ejemplo, si queremos declarar una variable "nombre" y asignarle un valor inicial "Juan", podemos hacerlo de la siguiente manera:

let nombre = "Juan";

O bien, si queremos declarar una constante "pi" con un valor de 3.14159, podemos hacerlo de la siguiente manera:

const pi = 3.14159;

Es importante tener en cuenta que, si bien es posible omitir la palabra clave "var", se recomienda su uso explícito para evitar posibles confusiones o errores en el código. Además, si se está trabajando en un proyecto con un código ya establecido que utiliza la palabra clave "var", es importante seguir utilizando esta convención para mantener la coherencia en el estilo de programación."

Saludos!

Conceptos usados:

  • declaración: var miVariable;
  • asignación: miVariable = "texto";
  • inicialización: var miVariable = "texto";

Si usas var la variable es declarada dentro del ámbito (alcance|scope) en el que te encuentres. Por ejemplo una función.

Si no usas var la variable asciende a través de los ámbitos en el que se encuentre hasta que llegar con una variable por el nombre dado o el objeto global (window, si estás en el navegador), donde luego se agrega. Haciendolo muy similar a una variable global.


Revisa el objeto global con: console.log(window)

Experimenta: Crea una variable sin var y asignale un valor como: miVariable = 10; Luego llama a esa variable a través del objeto global window: console.log(window.miVariable); o console.log(miVariable);

Recuerda: el objeto global puede ser omitido, por eso las funciones como alert() y prompt() pueden ser llamadas sin nada detrás o anteponiendo window: window.alert() o window.prompt().


La variable sin var puede ser eliminada usado delete. Pero si usas var en el ámbito global, la variable no podrá ser borrada con la palabra reservada delete

Ejemplo: delete miVariable

Posdata: Revisar los conceptos de ámbito/alcance de variable

Wow, mil gracias, Diego! tremenda oportunidad para profundizar en el tema :D Me pongo a revisar!

Gracias compañeros! Me sirvió muchísimo su aporte. Estaba buscando el porqué en algunos videos no se veía que declaraban las variables con la etiqueta de tag y aún así compilaba el código.

También tengo otra consulta: dentro de las funciones no hace falta declarar las variables con "var" según veo !Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Me queda la duda de si se puede entender que las variables se "comportan" como parámetros y por ese motivo ya no es necesario declararlos.

Sucede lo mismo, no es necesario declararla en Javascript, pero esto se considerá una mala práctica, no importa donde se defina la variable ni el como vaya a ser usada.

Gracias por tu respuesta, Axel! Queda resuelta mi pregunta.