You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
Día 19
Closure
JavaScript permite escribir una función dentro de una función externa. Podemos escribir tantas funciones internas como queramos. Si la función interna accede a las variables de la función externa entonces se llama closure (clausura).
function outerFunction() {
let count = 0;
function innerFunction() {
count++;
return count;
}
return innerFunction;
}
const innerFunc = outerFunction();
console.log(innerFunc());
console.log(innerFunc());
console.log(innerFunc());
1
2
3
Veamos más ejemplos de funciones internas
function outerFunction() {
let count = 0;
function plusOne() {
count++;
return count;
}
function minusOne() {
count--;
return count;
}
return {
plusOne: plusOne(),
minusOne: minusOne(),
};
}
const innerFuncs = outerFunction();
console.log(innerFuncs.plusOne);
console.log(innerFuncs.minusOne);
1
0
🌕 Estás haciendo progresos. Mantén tu ritmo, sigue con el buen trabajo. Ahora haz algunos ejercicios para tu cerebro y para tus músculos.
Ejercicios
Ejercicios: Nivel 1
- Crear una closure que tenga una función interna
Ejercicios: Nivel 2
- Crear una closure que tenga tres funciones internas
Ejercicios: Nivel 3
- Crear una función de salida de personAccount. Tiene variables internas de nombre, apellido, ingresos y gastos. Tiene las funciones internas totalIncome, totalExpense, accountInfo,addIncome, addExpense y accountBalance. Los ingresos son un conjunto de ingresos y su descripción y los gastos son también un conjunto de gastos con su descripción.
🎉 ¡FELICITACIONES! 🎉