Tengo una duda, tenía entendido del curso básico de JavaScript que ‘var’ es global, pero no entiendo por qué ahora hacer un ‘var’ dentro ...

Pregunta de la clase:
Function Scope
Jose Francisco Vera Girona

Jose Francisco Vera Girona

Pregunta
studenthace 4 años

Tengo una duda, tenía entendido del curso básico de JavaScript que ‘var’ es global, pero no entiendo por qué ahora hacer un ‘var’ dentro de una función no la hace accesible desde fuera…

Para hacer variables globales desde una función, ¿tengo que declararla sin palabra clave?

¡Gracias!

5 respuestas
para escribir tu comentario
    Pedro Pablo Gutiérrez Rojas

    Pedro Pablo Gutiérrez Rojas

    studenthace 3 años

    Yo entendí que se puede declarar y asignarle un valor a una variable sin ninguna de las palabras reservadas var, let o const desde dentro de una función, y así tendría un alcance global.

    const func = () => { variableGlobal = "puedes acceder a esta variable desde afuera de la función"; } func(); console.log(variableGlobal);

    Eso sí, lo que dijo el profesor en la segunda clase (min 9:34) es que es una mala práctica hacerlo.

    Ederson Felipe Lopez Bolivar

    Ederson Felipe Lopez Bolivar

    studenthace 4 años

    Porque var no es realmente Global , el scope de var es de función , esto indica que su vida esta limitada por una función , esto explica porque no puedes acceder desde fuera de una función a una variable

    Daniel Rodrigo Valdivieso Merino

    Daniel Rodrigo Valdivieso Merino

    teacherhace 4 años

    Para desarrollar nuestro codigo con buenas practicas debemos responsablemente asignar las variables y globales si es que van a ser utilizadas en varios lugares del codigo o locales si solo son para cumplir una funcion dentro de nuestro bloque de codigo.

    Es importante que tengas en cuenta que var puede reescribir los valores cuantas veces quieras, pero const y let solo pueden ser definidas por un valor una sola vez.

    José Antonio Zegarra Medina

    José Antonio Zegarra Medina

    studenthace 4 años

    Hola, Jose. Para declarar una variable global, sea con var, let o const, debes escribir la declaración fuera de cualquier función:

    var x = 5; // Global Scope let y = 6; // Global Scope const z = 7; // Global Scope function suma() { let a = 9; // Local Scope return y + a; }

    En resumen, para declarar una variable global, debes hacerlo fuera de cualquier función.

Curso de Closures y Scope en JavaScript

Curso de Closures y Scope en JavaScript

Como desarrollador JavaScript debes comprender a la perfección los diferentes alcances que tienen tus variables cuando son declaradas. En este curso aprenderás todos los conceptos fundamentales de Scope global y local, cómo declarar variables con const, let y var. Con ejercicios prácticos domina el uso de Closures en tus desarrollos.

Curso de Closures y Scope en JavaScript
Curso de Closures y Scope en JavaScript

Curso de Closures y Scope en JavaScript

Como desarrollador JavaScript debes comprender a la perfección los diferentes alcances que tienen tus variables cuando son declaradas. En este curso aprenderás todos los conceptos fundamentales de Scope global y local, cómo declarar variables con const, let y var. Con ejercicios prácticos domina el uso de Closures en tus desarrollos.