No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Ámbito de bloque

10/24
Recursos

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para usar el ámbito de bloque, no solo hay que usar las llaves { } sino también las palabras reservadas let y const, ya que las variables declaradas con var se saltan todas las restricciones.

¿Qué es un bloque?

Un bloque puede ser cualquier bloque de código que esta dentro de corchetes (esto es particular de JS, en otros lenguajes funciona diferente).
Ejemplos:

if (minNumber > maxNumber) {
  // block
}

for (let i = 0; i < maxNumbers; i++) {
 // block
}

while (minNumber < maxNumber) {
  // block
}

Ojo cuidado, porque un bloque no es lo mismo que una función. Cuando se hace una función, esta crea su propio contexto de ejecución. Es como un modulo aislado del contexto global, pero que aún así, puede acceder a el.
.
Un bloque no genera ningún tipo de contexto de ejecución

Code

{
    let greeting = "Hello World!";
    var lang = "English";
    console.log(greeting);
}
console.log(lang);//>English
console.log(greeting);//!Error

El ámbito de bloque se refiere al alcance de las variables dentro de un bloque de código delimitado por llaves en JavaScript. Las variables definidas dentro de un bloque de código solo están disponibles dentro de ese bloque, y no pueden ser accedidas desde fuera de él.

Aquí hay un ejemplo de cómo funciona el ámbito de bloque en JavaScript:

function myFunction() {
  var x = 1;

  if (true) {
    let y = 2;
    const z = 3;
    console.log(x, y, z);
  }

  console.log(x);
  console.log(y); // Output: ReferenceError: y is not defined
  console.log(z); // Output: ReferenceError: z is not defined
}

myFunction(); // Output: 1 2 3 \n 1

En este ejemplo, la variable x es definida dentro de la función myFunction(), lo que significa que está disponible en cualquier lugar dentro de la función. Dentro del bloque if, definimos dos variables adicionales: y y z. Estas variables solo están disponibles dentro de ese bloque, y no pueden ser accedidas desde fuera de él. Al intentar acceder a y y z fuera del bloque if, obtenemos un error de referencia.

Es importante tener en cuenta que, a partir de ES6, podemos utilizar la palabra clave let y const para definir variables en el ámbito de bloque. Las variables definidas con let pueden ser reasignadas, mientras que las variables definidas con const son de solo lectura y no pueden ser reasignadas.

let no tiene hoisting

Apuntes de la clase: ![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202024-11-07%20a%20la%28s%29%2015.57.33-115510ef-d915-4d8f-854d-d8cc3163b557.jpg)
¿Cuál es la diferencia entre el ámbito de bloque y el ámbito local? ¿No es lo mismo? 🤔. No veo ninguna diferencia entre uno y otro, la verdad, je je je, X'3.
TIP Block Scope - Ambito de Bloque \----------------------------------------- **Uso:** Las variables declaradas con `let` o `const` dentro de un bloque (delimitado por `{}`) solo son accesibles dentro de ese bloque. Esto incluye estructuras de control como `if`, `for`, y `while`. * **Cuándo se usa:** Se usa cuando necesitas variables que solo existan dentro de un bloque de código, como en un ciclo o una condición. Es ideal para evitar colisiones de nombres y controlar mejor el acceso a las variables.