Sobes.tech
Junior

¿Qué es el ámbito (scope) de las variables en JavaScript?

sobes.tech AI

Respuesta de la IA

El ámbito determina la disponibilidad de variables, funciones y objetos en una parte específica del código.

En JavaScript, existen varios tipos de ámbito:

  • Ámbito global (Global Scope): Las variables declaradas fuera de cualquier función o bloque están disponibles desde cualquier parte del código.
  • Ámbito de función (Function Scope): Las variables declaradas dentro de una función (antes de ES6) solo están disponibles dentro de esa función y en las funciones anidadas.
  • Ámbito de bloque (Block Scope): Las variables declaradas con let y const dentro de bloques (por ejemplo, {} o bucles) solo están disponibles dentro de ese bloque.

Ejemplo:

// Ámbito global
let globalVar = "Soy global";

function someFunction() {
  // Ámbito de función (antes de ES6)
  var functionVar = "Estoy dentro de la función";
  console.log(globalVar); // Variable global accesible

  if (true) {
    // Ámbito de bloque (para let y const)
    let blockVar = "Estoy dentro del bloque";
    console.log(functionVar); // Variable de función accesible
    console.log(blockVar); // Variable de bloque accesible
  }

  // console.log(blockVar); // Error: blockVar no accesible aquí
}

someFunction();
// console.log(functionVar); // Error: functionVar no accesible aquí

Palabras clave para declarar variables y su impacto en el ámbito:

Palabra clave Ámbito antes de ES6 Ámbito después de ES6
var Funcional Funcional
let - De bloque
const - De bloque

Comprender el ámbito es crucial para evitar conflictos de nombres de variables y para escribir código limpio y predecible.