File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed
Roadmap/24 - DECORADORES/javascript Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * EJERCICIO:
3
+ * Explora el concepto de "decorador" y muestra cómo crearlo
4
+ * con un ejemplo genérico.
5
+ *
6
+ * DIFICULTAD EXTRA (opcional):
7
+ * Crea un decorador que sea capaz de contabilizar cuántas veces
8
+ * se ha llamado a una función y aplícalo a una función de tu elección.
9
+ */
10
+
11
+ /*
12
+ Esta es la propuesta de decoradores de Javascript, aún en stage 3
13
+ function logger(value, context) {
14
+ console.log(value, context);
15
+ }
16
+
17
+ @logger
18
+ class Persona {
19
+
20
+ altura = 1.75;
21
+
22
+ @logger
23
+ getAltura() {
24
+ return this.altura;
25
+ }
26
+ }
27
+ */
28
+
29
+ // Implementación del Patrón Decorador sin sintaxis de decorador
30
+
31
+ function logger ( metodo ) {
32
+
33
+ return function ( ...arg ) {
34
+
35
+ let result = metodo . apply ( this , ...arg ) ;
36
+ console . log ( 'El decorador se ha ejecutado' ) ;
37
+
38
+ return result ;
39
+ } ;
40
+ }
41
+
42
+ class Persona {
43
+
44
+ altura = 1.75 ;
45
+
46
+ getAltura ( ) {
47
+ console . log ( 'Altura' , this . altura ) ;
48
+ return this . altura ;
49
+ }
50
+ }
51
+
52
+ p1 = new Persona ( ) ;
53
+
54
+ p1 . getAltura = logger ( p1 . getAltura ) ;
55
+ p1 . getAltura ( ) ;
You can’t perform that action at this time.
0 commit comments