Ámbitos

Frontend SELF ES
Nivel 35 , Lección 4
Disponible

5.1 Ámbito global

Ámbitos (scopes) determinan la accesibilidad de variables y funciones en diferentes partes del programa. En JavaScript existen tres tipos principales de ámbitos: global, local y de bloque. Entender estos ámbitos es importante para administrar los datos eficazmente y prevenir errores en el código.

Ámbito global incluye todas las variables y funciones declaradas fuera de cualquier función o bloque de código. Estas variables y funciones están accesibles desde cualquier lugar del código.

Ejemplo 1: Declaración de variables globales

JavaScript
    
      var globalVar = 'I am a global variable';

      function showGlobalVar() {
        console.log(globalVar); // Acceso a variable global
      }
      showGlobalVar(); // Muestra: I am a global variable

      console.log(globalVar); // Acceso a variable global
    
  

Ejemplo 2: Funciones globales

En este ejemplo, la variable globalVar y la función globalFunction() están declaradas en el ámbito global y accesibles desde cualquier lugar en el código.

JavaScript
    
      function globalFunction() {
        return 'I am a global function';
      }

      console.log(globalFunction()); // Muestra: I am a global function
    
  

5.2 Ámbito local

Ámbito local incluye variables y funciones declaradas dentro de una función. Estas variables y funciones son accesibles solo dentro de esa función y no están disponibles fuera de ella.

Ejemplo 3: Declaración de variables locales

En este ejemplo, la variable localVar se declara dentro de la función localScopeExample() y no está disponible fuera de esa función:

JavaScript
    
      function localScopeExample() {
        var localVar = 'I am a local variable';
        console.log(localVar); // Acceso a variable local
      }

      localScopeExample(); // Muestra: I am a local variable

      console.log(localVar); // Error: localVar is not defined
    
  

Ejemplo 4: Funciones locales

En este ejemplo, la función innerFunction() se declara dentro de la función outerFunction() y no está disponible fuera de outerFunction():

JavaScript
    
      function outerFunction() {
        function innerFunction() {
          return 'I am a local function';
        }
        console.log(innerFunction()); // Acceso a función local
      }

      outerFunction(); // Muestra: I am a local function

      console.log(innerFunction()); // Error: innerFunction is not defined
    
  

5.3 Ámbito de bloque

El ámbito de bloque incluye variables declaradas con let y const dentro de un bloque de código, delimitado por llaves {}. Estas variables son accesibles solo dentro de ese bloque y no fuera de él.

Ejemplo 5: Declaración de variables con let

En este ejemplo, la variable blockVar se declara dentro del bloque if y no está disponible fuera de él:

JavaScript
    
      if (true) {
        let blockVar = 'I am a block-scoped variable';
        console.log(blockVar); // Acceso a variable de bloque
      }

      console.log(blockVar); // Error: blockVar is not defined
    
  

Ejemplo 6: Declaración de variables con const

En este ejemplo, la variable i se declara dentro del bloque for y no está disponible fuera de él:

JavaScript
    
      for (const i = 0; i < 3; i++) {
        console.log(i); // Acceso a variable de bloque
      }

      console.log(i); // Error: i is not defined
    
  

Características del ámbito de bloque

Ejemplo 7: Bloques anidados

En este ejemplo, la variable innerVar está disponible solo dentro del bloque interno, mientras que la variable outerVar está disponible tanto en el bloque externo como en el interno:

JavaScript
    
      if (true) {
        let outerVar = 'I am in the outer block';

        if (true) {
          let innerVar = 'I am in the inner block';

          console.log(outerVar); // Acceso a variable del bloque externo
          console.log(innerVar); // Acceso a variable del bloque interno
        }

        console.log(outerVar); // Acceso a variable del bloque externo
        console.log(innerVar); // Error: innerVar is not defined
      }
    
  

5.4 Interacción de diferentes ámbitos

Ejemplo 8: Interacción de ámbitos global y local

En este ejemplo, la función scopeExample() tiene acceso a la variable global globalVar y a su propia variable local localVar:

JavaScript
    
      var globalVar = 'I am a global variable';

      function scopeExample() {
        var localVar = 'I am a local variable';

        console.log(globalVar); // Acceso a variable global
        console.log(localVar);  // Acceso a variable local
      }

      scopeExample(); // Muestra: I am a global variable
                      //  I am a local variable

      console.log(globalVar); // Acceso a variable global
      console.log(localVar);  // Error: localVar is not defined
    
  

Ejemplo 9: Ámbitos con función de flecha

En este ejemplo, la función de flecha arrowFunction() tiene acceso a la variable global globalVar y a su propia variable local localVar:

JavaScript
    
      let globalVar = 'I am a global variable';

      const arrowFunction = () => {
        let localVar = 'I am a local variable in arrow function';

        console.log(globalVar); // Acceso a variable global
        console.log(localVar);  // Acceso a variable local
      };

      arrowFunction(); // Muestra: I am a global variable
                       // I am a local variable in arrow function

      console.log(globalVar); // Acceso a variable global
      console.log(localVar);  // Error: localVar is not defined
    
  
1
Опрос
Funciones,  35 уровень,  4 лекция
недоступен
Funciones
Funciones
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION