¿Qué ámbitos de variable están disponibles en TypeScript?

Ambitos de variable en TypeScript

TypeScript, al igual que JavaScript, ofrece varios ámbitos de variable. Las variables pueden existir en un ámbito global, local o de clase. Entender estos diferentes ámbitos es crucial para la programación eficaz y la evitación de errores comunes.

Ámbito Global

Un ámbito global se refiere a una variable que está disponible en todo el código, sin importar el bloque de código o la función en la que se encuentre. Se puede acceder a ellas desde cualquier parte de la aplicación o del archivo. Un ejemplo de esto en TypeScript sería:

let variableGlobal: string = 'Soy una variable global.';

Todos los lugares del código pueden tener acceso a variableGlobal, a menos que se redeclare dentro de un ámbito local.

Ámbito Local

Un ámbito local se refiere a las variables que están disponibles solo dentro de un bloque de código específico o una función. Esto puede ser una función, un bucle, etc. Por ejemplo:

function prueba() {
  let variableLocal: string = 'Soy una variable local.';
  console.log(variableLocal); //Imprime: Soy una variable local.
}
console.log(variableLocal); //Error: variableLocal no está definida.

Aquí, variableLocal está disponible solo dentro de la función prueba, por lo tanto, no está disponible fuera de la función.

Ámbito de Clase

Las variables de ámbito de clase o las variables de miembro, como también se les conoce, están disponibles solo dentro de una clase específica, pero pueden ser accesibles desde cualquier método dentro de esa clase. Aquí está un ejemplo:

class Ejemplo {
  variableClase: string = 'Soy una variable de clase.';

  funcionEjemplo() {
    console.log(this.variableClase); //Imprime: Soy una variable de clase.
  }
}

let objeto = new Ejemplo();
console.log(objeto.variableClase); //Imprime: Soy una variable de clase.

En este caso, variableClase está disponible en toda la clase Ejemplo y puede ser accesible a través de cualquier método (como funcionEjemplo), o a través de una instancia de la clase (como objeto).

Por lo tanto, la respuesta correcta es "Todos los anteriores", ya que TypeScript soporta el ámbito global, local y de clase para las variables.

Related Questions

¿Te resulta útil?