-
check_circle_outlineMódulo 1 | 9 clases
Introducción
expand_more -
check_circle_outlineMódulo 2 | 11 clases
Conceptos básicos
expand_more -
check_circle_outlineMódulo 3 | 10 clases
Funciones y el Scope
expand_more-
done_all
Clase 1
Declaración de funciones
-
done_all
Clase 2
Qué es el scope
-
done_all
Clase 3
Cuando usar let, const y var
-
done_all
Clase 4
Argumentos a funciones
-
done_all
Clase 5
Funciones anónimas
-
done_all
Clase 6
El contexto
-
done_all
Clase 7
Arrow functions
-
done_all
Clase 8
Arrow functions y el contexto
-
done_all
Clase 9
Call Apply y Bind
-
done_all
Clase 10
Resumen de unidad - Funciones y el scope
-
-
check_circle_outlineMódulo 4 | 3 clases
Arreglos
expand_more -
check_circle_outlineMódulo 5 | 12 clases
Objetos
expand_more -
check_circle_outlineMódulo 6 | 7 clases
Programación asíncrona
expand_more -
check_circle_outlineMódulo 7 | 2 clases
Bonus points
expand_more -
check_circle_outlineMódulo 8 | 3 clases
Async/Await
expand_more -
check_circle_outlineMódulo 9 | 5 clases
Módulos
expand_more -
check_circle_outlineMódulo 10 | 10 clases
Generadores e Iteradores
expand_more -
check_circle_outlineMódulo 11 | 10 clases
Cadenas a fondo
expand_more -
check_circle_outlineMódulo 12 | 7 clases
Expresiones regulares
expand_more -
check_circle_outlineMódulo 13.-
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-
18 comentario(s)
¿Qué es el scope (alcance)? Scope: Colección de variables, funciones y objetos que se encuentran a nuestro alcance en algún punto del código y nos ayuda a evitar programar con bugs que no entendamos por qué están sucediendo. Scope global: Es todo aquello que se encuentra a nuestro alcance en cualquier parte del código, todo aquello que se define fuera del cuerpo de una función. El hacer uso del scope global no es recomendado por un desarrollador con experiencia. Principio de menor acceso: se refiere a la importancia de limitar aquello que está al alcance de alguien. Respetando el principio de menor acceso se puede determinar quién está modificando qué y de esta manera saber dónde puede estar el error en caso de que el resultado del programa no sea el esperado, por el contrario, cuando todo está en el scope global y se manejan muchos archivos de JS, será muy complicado determinar de donde proviene el error. Scope local: Pueden existir múltiples y se definen cuando se define una función, al definir una función, todo el bloque de código se asigna al scope local del dicha función, es decir, por cada función hay un scope local, por lo tanto, si tenemos multiples funciones, tendríamos múltiples scopes locales. NOTA: Las funciones crean su propio scope local. var nombre = "Uriel"; function switch_nombres(){ var nombre = "Marcos"; console.log(nombre); } switch_nombres(); console.log(nombre); • "Marcos" //aquí se imprime la variable dentro de la función • "Uriel" //aquí se imprime la variable fuera de la función NOTAS: Cuando una variable está dentro del scope local, su ciclo de vida inicia cuando se ejecuta la función y termina al termino de la misma función, fuera de eso, todo lo del scope local ya no existe. Se recomienda colocar todos los elementos en el scope local de una función. Se pueden crear variables sin declararlas con las palabras: let, var o const, solamente asignándoles un valor, pero esto no es recomendable porque se pueden presentar comportamientos inesperados. function hola(){ var nombre = "Marcos"; } hola(); console.log(nombre); • "error" • "ReferenceError: nombre is not defined at rawemonequ.js:6:38 at https://static.jsbin.com/js/prod/runner-4.1.7.min.js:1:13924 at https://static.jsbin.com/js/prod/runner-4.1.7.min.js:1:10866" Este error se produce porque la variable nombre no está definida en el scope global. function hola(){ nombre = "Marcos"; } hola(); console.log(nombre);
function hola(){
nombre = 'rewwwne';
}
hola();
en cambio si lo pongo de esta manera si lo hace
function hola(){
nombre = 'rewwwne';
}hola();
console.log(nombre); no sé a que se debe pero es bueno aprender cosas por si mismo también, saludos.
Clase 17