Skip to content

Commit c5a1ecf

Browse files
#24 - JavaScript "Extra"
1 parent 8e77d9a commit c5a1ecf

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

Roadmap/24 - DECORADORES/javascript/JesusAntonioEEscamilla.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,30 @@ const user = { name: "Jesus", email: "[email protected]" };
5151

5252
/**-----DIFICULTAD EXTRA-----*/
5353

54-
// Pendiente
54+
/*Decorador Contabilizar */
55+
// Decorador
56+
function contadorLlamadas(func) {
57+
let count = 0;
58+
59+
function decorador(...args) {
60+
count++;
61+
console.log(`La función ${func.name} ha sido llamada ${count} veces`);
62+
return func(...args);
63+
}
64+
return decorador;
65+
}
66+
67+
// Función de suma
68+
function suma(a, b) {
69+
return a + b;
70+
}
71+
72+
// Aplicamos el decorador
73+
const sumaDecorador = contadorLlamadas(suma);
74+
75+
// Probamos la función decorador
76+
console.log(sumaDecorador(2, 4));
77+
console.log(sumaDecorador(7, 1));
78+
console.log(sumaDecorador(5, 6));
5579

5680
/**-----DIFICULTAD EXTRA-----*/

0 commit comments

Comments
 (0)