Qué es una variable global en JavaScript y cómo se declara

Introducción a JavaScript
Martín Durán
Martín Durán

Actualizado:

Publicado:

El ámbito de una variable (también conocido como scope, por su nombre en inglés) es el fragmento o bloque de código de un programa en el que una variable definida tiene valor. Dicho de otro modo, es la zona en que esa variable existe, tiene valor y puede utilizarse para realizar cualquier acción. En JavaScript existen dos ámbitos para las variables: global y local. Conozcamos un poco más acerca de la variable global.

Variable global en JavaScript
    << [Guía gratuita] >> Introducción al lenguaje de programación Javascript  

En cambio, una variable local es aquella que solo está disponible dentro de una función del script actual: la función donde fue definida o declarada.

Cómo declarar variables globales en JavaScript (con ejemplo)

Como puedes ver, las variables definidas dentro de una función pueden ser globales o locales.

Las variables que se declaran mediante una palabra reservada (var, let, const) se consideran locales y las variables que no se han declarado mediante una palabra reservada se transforman automáticamente en variables globales.

Para aclarar estos conceptos tomemos el siguiente código de ejemplo:

let global = "soy una variable global";function realizarAccion() { global = "soy una variable global modificada en una función"; console.log(global); let local = "soy una variable local" console.log(local);} console.log("--------");console.log(global);console.log("--------");realizarAccion();console.log("--------");console.log(global);console.log(local); // ReferenceError: local is not definedconsole.log("--------");

El anterior bloque de código nos arroja la siguiente salida:

--------soy una variable global--------soy una variable global modificada en una funciónsoy una variable local--------soy una variable global modificada en una funciónC:\...\prueba.js:16console.log(local); ^ReferenceError: local is not defined

at Object.<anonymous> (C:\...\prueba.js:16:13) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47

La variable llamada global tiene un ámbito global y por eso puede ser utilizada e incluso modificada dentro de la función realizarAccion(). En cuanto a la variable que tiene un ámbito local dentro de realizarAccion(), JavaScript nos arroja un error de referencia indicándonos que esa variable no está definida al intentar acceder a dicha variable fuera de la función. En cambio, si intentamos acceder a la variable local dentro de la función donde fue declarada, entonces sí que podemos usarla.

Recomendaciones acerca de las variables globales de JavaScript

En cuanto al ámbito de variables en JavaScript, la recomendación general es definir como variables locales dentro de una función a aquellas variables que sean utilizadas únicamente para realizar las tareas específicas de dicha función. Las variables globales normalmente son utilizadas para compartir valores entre dos o más funciones.

Las variables globales no declaradas con una palabra reservada, es decir, aquellas que se declaran «al vuelo», a menudo provocan un comportamiento inesperado normalmente relacionado al manejo de la memoria de JavaScript. Por esta razón no se recomienda utilizar variables globales no declaradas.

Si quieres saber más acerca de JavaScript, revisa nuestra guía introductoria acerca de sus funciones.

Introducción a Javascript
Temas: JavaScript

Artículos relacionados

Tu privacidad es muy importante para nosotros. HubSpot utiliza la información que nos proporcionas para mantenerte al tanto de nuestros productos, servicios y contenido relevante. Puedes cancelar la suscripción a estos mensajes en cualquier momento. Para más información, consulta nuestra Política de privacidad.

Aprende desde cero el lenguaje de programación de JavaScript

CMS Hub is flexible for marketers, powerful for developers, and gives customers a personalized, secure experience

START FREE OR GET A DEMO