2999a commited on
Commit
31f3f8a
verified
1 Parent(s): 191968e

Upload via hfc (batch)

Browse files

Uploaded using hfc tool

This view is limited to 50 files because it contains too many changes. 聽 See raw diff
Files changed (50) hide show
  1. .gitattributes +10 -0
  2. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/02-Lecturas recomendadas.txt +1 -0
  3. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/02-Resumen.html +0 -0
  4. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-Lecturas recomendadas.txt +1 -0
  5. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-M茅todos push y pop para modificar arrays en JavaScript.mp4 +3 -0
  6. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-M茅todos push y pop para modificar arrays en JavaScript.vtt +343 -0
  7. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-Resumen.html +0 -0
  8. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-clase-push-pop_8fa0e05d-0543-4a98-9958-677a086bccb5.js +55 -0
  9. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-Lecturas recomendadas.txt +1 -0
  10. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-M茅todos map y forEach en JavaScript Uso y Ejemplos Pr谩cticos.mp4 +3 -0
  11. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-M茅todos map y forEach en JavaScript Uso y Ejemplos Pr谩cticos.vtt +907 -0
  12. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-Resumen.html +0 -0
  13. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-clase-map-foreach_d7b1a93f-0f56-4fd3-a419-c28c09dc2a16.js +40 -0
  14. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-Lecturas recomendadas.txt +1 -0
  15. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-M茅todos Filter y Reduce en JavaScript Uso y Ejemplos Pr谩cticos.mp4 +3 -0
  16. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-M茅todos Filter y Reduce en JavaScript Uso y Ejemplos Pr谩cticos.vtt +1198 -0
  17. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-Resumen.html +0 -0
  18. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-clase-filter-reduce_e813ab75-e07c-4b5d-aad3-8bfc93813d7a.js +45 -0
  19. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-Lecturas recomendadas.txt +1 -0
  20. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-M茅todos find y findIndex en JavaScript Uso y ejemplos pr谩cticos.mp4 +3 -0
  21. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-M茅todos find y findIndex en JavaScript Uso y ejemplos pr谩cticos.vtt +311 -0
  22. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-Resumen.html +0 -0
  23. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-clase-find-findindex_ec26c6f8-de53-4d67-8a48-801ff513a78b.js +51 -0
  24. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Lecturas recomendadas.txt +1 -0
  25. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Resumen.html +0 -0
  26. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Uso del m茅todo slice para extraer porciones de un array en JavaScript.mp4 +3 -0
  27. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Uso del m茅todo slice para extraer porciones de un array en JavaScript.vtt +362 -0
  28. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-clase-slice_534b3124-8beb-4455-8f09-12c56b9174b6.js +10 -0
  29. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Lecturas recomendadas.txt +1 -0
  30. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Resumen.html +0 -0
  31. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Uso del Spread Operator en JavaScript Copia Combinaci贸n y M谩s.mp4 +3 -0
  32. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Uso del Spread Operator en JavaScript Copia Combinaci贸n y M谩s.vtt +462 -0
  33. subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-clase-spread-operator_13d4bad1-6c65-47e2-bd80-89478793784f.js +36 -0
  34. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Lecturas recomendadas.txt +1 -0
  35. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Programaci贸n Orientada a Objetos en JavaScript Conceptos y Pr谩ctica.mp4 +3 -0
  36. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Programaci贸n Orientada a Objetos en JavaScript Conceptos y Pr谩ctica.vtt +529 -0
  37. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Resumen.html +0 -0
  38. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-index_2f0c6cdf-1728-43de-b87c-10c86349e8e1.js +79 -0
  39. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Creaci贸n y Manipulaci贸n de Objetos en JavaScript.mp4 +3 -0
  40. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Creaci贸n y Manipulaci贸n de Objetos en JavaScript.vtt +640 -0
  41. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Lecturas recomendadas.txt +1 -0
  42. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Resumen.html +0 -0
  43. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-index_1e469f9b-6fdc-4de4-9e66-cba3a484b09b.js +79 -0
  44. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/03-Funci贸n constructora y gesti贸n de instancias en JavaScript.mp4 +3 -0
  45. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/03-Funci贸n constructora y gesti贸n de instancias en JavaScript.vtt +873 -0
  46. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/03-Resumen.html +0 -0
  47. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-Clases en JavaScript Creaci贸n y Uso de Objetos con Sintaxis Moderna.mp4 +3 -0
  48. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-Clases en JavaScript Creaci贸n y Uso de Objetos con Sintaxis Moderna.vtt +408 -0
  49. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-Lecturas recomendadas.txt +1 -0
  50. subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-index_36cbd56e-6114-4e82-92ba-c0c0792e2d31.js +13 -0
.gitattributes CHANGED
@@ -207,3 +207,13 @@ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript
207
  subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/03-Funciones[[:space:]]y[[:space:]]This/07-Fundamentos[[:space:]]del[[:space:]]Desarrollo[[:space:]]Web[[:space:]]Frontend[[:space:]]y[[:space:]]Backend.mp4 filter=lfs diff=lfs merge=lfs -text
208
  subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/01-Arrays[[:space:]]Propiedades[[:space:]]Acceso[[:space:]]y[[:space:]]Creaci贸n[[:space:]]en[[:space:]]Programaci贸n.mp4 filter=lfs diff=lfs merge=lfs -text
209
  subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/02-Mutabilidad[[:space:]]e[[:space:]]inmutabilidad[[:space:]]en[[:space:]]arrays[[:space:]]conceptos[[:space:]]y[[:space:]]ejemplos[[:space:]]pr谩cticos.mp4 filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
207
  subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/03-Funciones[[:space:]]y[[:space:]]This/07-Fundamentos[[:space:]]del[[:space:]]Desarrollo[[:space:]]Web[[:space:]]Frontend[[:space:]]y[[:space:]]Backend.mp4 filter=lfs diff=lfs merge=lfs -text
208
  subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/01-Arrays[[:space:]]Propiedades[[:space:]]Acceso[[:space:]]y[[:space:]]Creaci贸n[[:space:]]en[[:space:]]Programaci贸n.mp4 filter=lfs diff=lfs merge=lfs -text
209
  subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/02-Mutabilidad[[:space:]]e[[:space:]]inmutabilidad[[:space:]]en[[:space:]]arrays[[:space:]]conceptos[[:space:]]y[[:space:]]ejemplos[[:space:]]pr谩cticos.mp4 filter=lfs diff=lfs merge=lfs -text
210
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/03-M茅todos[[:space:]]push[[:space:]]y[[:space:]]pop[[:space:]]para[[:space:]]modificar[[:space:]]arrays[[:space:]]en[[:space:]]JavaScript.mp4 filter=lfs diff=lfs merge=lfs -text
211
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/04-M茅todos[[:space:]]map[[:space:]]y[[:space:]]forEach[[:space:]]en[[:space:]]JavaScript[[:space:]]Uso[[:space:]]y[[:space:]]Ejemplos[[:space:]]Pr谩cticos.mp4 filter=lfs diff=lfs merge=lfs -text
212
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/05-M茅todos[[:space:]]Filter[[:space:]]y[[:space:]]Reduce[[:space:]]en[[:space:]]JavaScript[[:space:]]Uso[[:space:]]y[[:space:]]Ejemplos[[:space:]]Pr谩cticos.mp4 filter=lfs diff=lfs merge=lfs -text
213
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/06-M茅todos[[:space:]]find[[:space:]]y[[:space:]]findIndex[[:space:]]en[[:space:]]JavaScript[[:space:]]Uso[[:space:]]y[[:space:]]ejemplos[[:space:]]pr谩cticos.mp4 filter=lfs diff=lfs merge=lfs -text
214
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/07-Uso[[:space:]]del[[:space:]]m茅todo[[:space:]]slice[[:space:]]para[[:space:]]extraer[[:space:]]porciones[[:space:]]de[[:space:]]un[[:space:]]array[[:space:]]en[[:space:]]JavaScript.mp4 filter=lfs diff=lfs merge=lfs -text
215
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/04-Manipulaci贸n[[:space:]]de[[:space:]]Arrays/08-Uso[[:space:]]del[[:space:]]Spread[[:space:]]Operator[[:space:]]en[[:space:]]JavaScript[[:space:]]Copia[[:space:]]Combinaci贸n[[:space:]]y[[:space:]]M谩s.mp4 filter=lfs diff=lfs merge=lfs -text
216
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/05-Programaci贸n[[:space:]]Orientada[[:space:]]a[[:space:]]Objetos/01-Programaci贸n[[:space:]]Orientada[[:space:]]a[[:space:]]Objetos[[:space:]]en[[:space:]]JavaScript[[:space:]]Conceptos[[:space:]]y[[:space:]]Pr谩ctica.mp4 filter=lfs diff=lfs merge=lfs -text
217
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/05-Programaci贸n[[:space:]]Orientada[[:space:]]a[[:space:]]Objetos/02-Creaci贸n[[:space:]]y[[:space:]]Manipulaci贸n[[:space:]]de[[:space:]]Objetos[[:space:]]en[[:space:]]JavaScript.mp4 filter=lfs diff=lfs merge=lfs -text
218
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/05-Programaci贸n[[:space:]]Orientada[[:space:]]a[[:space:]]Objetos/03-Funci贸n[[:space:]]constructora[[:space:]]y[[:space:]]gesti贸n[[:space:]]de[[:space:]]instancias[[:space:]]en[[:space:]]JavaScript.mp4 filter=lfs diff=lfs merge=lfs -text
219
+ subir/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]JavaScript/05-Programaci贸n[[:space:]]Orientada[[:space:]]a[[:space:]]Objetos/04-Clases[[:space:]]en[[:space:]]JavaScript[[:space:]]Creaci贸n[[:space:]]y[[:space:]]Uso[[:space:]]de[[:space:]]Objetos[[:space:]]con[[:space:]]Sintaxis[[:space:]]Moderna.mp4 filter=lfs diff=lfs merge=lfs -text
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/02-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/02-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-M茅todos push y pop para modificar arrays en JavaScript.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:366fff0b24b01501e3b2bc846a28ba2630e20fad85937fe1324dd6fa10d9cca1
3
+ size 21702850
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-M茅todos push y pop para modificar arrays en JavaScript.vtt ADDED
@@ -0,0 +1,343 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:02.900
4
+ En esta clase vamos a hablar de dos
5
+ m茅todos
6
+
7
+ 00:02.900 --> 00:05.700
8
+ que nos modifican el array original.
9
+
10
+ 00:05.700 --> 00:09.000
11
+ Estos m茅todos son tanto push como pop.
12
+
13
+ 00:09.000 --> 00:13.000
14
+ Lo que hace push es a帽adir uno o m谩s
15
+ elementos
16
+
17
+ 00:13.000 --> 00:14.400
18
+ al final de un
19
+ array,
20
+
21
+ 00:14.400 --> 00:17.900
22
+ y adicional nos va a devolver esa longitud
23
+ del array.
24
+
25
+ 00:17.900 --> 00:20.100
26
+ Ya lo vamos a ver en juego c贸mo ser铆a.
27
+
28
+ 00:20.100 --> 00:23.400
29
+ Sin embargo, en la gr谩fica tendr铆amos un
30
+ array
31
+
32
+ 00:23.400 --> 00:26.000
33
+ que tiene, en este caso, cinco posiciones,
34
+
35
+ 00:26.000 --> 00:27.300
36
+ es de
37
+ n煤meros,
38
+
39
+ 00:27.300 --> 00:31.100
40
+ y lo que podemos hacer es agregarle a ese
41
+ mismo array
42
+
43
+ 00:31.100 --> 00:35.300
44
+ otro valor, en este caso le estamos
45
+ agregando el n煤mero 27.
46
+
47
+ 00:35.300 --> 00:38.900
48
+ Este array es el mismo, el primero, el
49
+ primero,
50
+
51
+ 00:38.900 --> 00:40.800
52
+ no estamos creando uno
53
+ nuevo,
54
+
55
+ 00:40.800 --> 00:42.800
56
+ sino que estamos haciendo una modificaci贸n.
57
+
58
+ 00:42.800 --> 00:45.200
59
+ Eso es s煤per importante tenerlo en cuenta.
60
+
61
+ 00:45.200 --> 00:48.000
62
+ Entonces, veamos c贸mo ser铆a en c贸digo.
63
+
64
+ 00:48.000 --> 00:50.800
65
+ Voy a colocar un t铆tulo que nos
66
+ diga
67
+
68
+ 00:50.800 --> 00:57.600
69
+ m茅todos que modifican el array original.
70
+
71
+ 00:57.600 --> 00:59.600
72
+ Original
73
+ array.
74
+
75
+ 00:59.600 --> 01:04.600
76
+ Y vamos a colocar que esto es b谩sicamente
77
+ mutabilidad.
78
+
79
+ 01:04.600 --> 01:07.600
80
+ Esto nos est谩 mutando justamente nuestro
81
+ array original.
82
+
83
+ 01:07.600 --> 01:09.600
84
+ Entonces,
85
+ mutability.
86
+
87
+ 01:09.600 --> 01:10.600
88
+ Listo.
89
+
90
+ 01:10.600 --> 01:13.600
91
+ El primero de ellos, por supuesto, es push.
92
+
93
+ 01:13.600 --> 01:16.300
94
+ Y lo que vamos a hacer es crear una
95
+ variable
96
+
97
+ 01:16.300 --> 01:19.600
98
+ que se llame, por ejemplo, pa铆ses, en ingl茅s,
99
+ countries.
100
+
101
+ 01:19.600 --> 01:22.600
102
+ Y lo que hacemos es crear nuestro
103
+ array
104
+
105
+ 01:22.600 --> 01:24.600
106
+ con una sintaxis
107
+ normal.
108
+
109
+ 01:24.600 --> 01:27.600
110
+ Y lo que hacemos es decirle, por ejemplo, USA.
111
+
112
+ 01:27.600 --> 01:31.100
113
+ Vamos a colocarle otro que sea, por ejemplo,
114
+ Canada.
115
+
116
+ 01:31.100 --> 01:34.600
117
+ Y vamos a colocar otro que sea
118
+ UK.
119
+
120
+ 01:34.600 --> 01:38.600
121
+ Estos countries, que aqu铆 me falt贸 la E,
122
+
123
+ 01:38.600 --> 01:40.600
124
+ vamos a agregarle
125
+ otro.
126
+
127
+ 01:40.600 --> 01:41.600
128
+ 驴C贸mo lo
129
+ hacemos?
130
+
131
+ 01:41.600 --> 01:44.600
132
+ Vamos a colocar const new countries.
133
+
134
+ 01:44.600 --> 01:46.100
135
+ New
136
+ countries.
137
+
138
+ 01:46.100 --> 01:48.600
139
+ Voy a colocarme esta variable
140
+ ac谩.
141
+
142
+ 01:48.600 --> 01:50.600
143
+ Voy a cambiarle la
144
+ C.
145
+
146
+ 01:50.600 --> 01:54.600
147
+ Y lo que hacemos es decir, countries.push.
148
+
149
+ 01:54.600 --> 01:57.600
150
+ En este caso, le estamos diciendo a ese
151
+ que nosotros
152
+
153
+ 01:57.600 --> 02:00.600
154
+ acabamos de crear, quiero que, por favor,
155
+
156
+ 02:00.600 --> 02:04.600
157
+ le agregues un valor determinado o varios
158
+ valores.
159
+
160
+ 02:04.600 --> 02:07.600
161
+ En este caso, voy a colocarle dos pa铆ses
162
+ nuevos.
163
+
164
+ 02:07.600 --> 02:11.600
165
+ Vamos a colocarle, por ejemplo, Alemania,
166
+ Germany.
167
+
168
+ 02:11.600 --> 02:14.600
169
+ Y vamos a colocarle otro, por ejemplo,
170
+ Australia.
171
+
172
+ 02:14.600 --> 02:15.600
173
+ Australia.
174
+
175
+ 02:15.600 --> 02:17.600
176
+ Australia.
177
+
178
+ 02:17.600 --> 02:18.600
179
+ Listo.
180
+
181
+ 02:18.600 --> 02:21.600
182
+ El punto ac谩 importante es revisar, uno,
183
+
184
+ 02:21.600 --> 02:25.600
185
+ 驴qu茅 nos arrojar铆a o c贸mo se modificar铆a
186
+ nuestro array
187
+
188
+ 02:25.600 --> 02:27.600
189
+ original, que ser铆a
190
+ countries?
191
+
192
+ 02:27.600 --> 02:32.600
193
+ Y tambi茅n, 驴qu茅 hace esta operaci贸n que
194
+ estamos haciendo?
195
+
196
+ 02:32.600 --> 02:35.600
197
+ Entonces, ser铆a console.log de
198
+ qui茅n?
199
+
200
+ 02:35.600 --> 02:36.600
201
+ De new
202
+ countries.
203
+
204
+ 02:36.600 --> 02:37.600
205
+ Entonces,
206
+ veamos.
207
+
208
+ 02:37.600 --> 02:40.600
209
+ Vamos a correr nuestro
210
+ c贸digo.
211
+
212
+ 02:40.600 --> 02:42.600
213
+ Este caso ser铆a
214
+ push.
215
+
216
+ 02:42.600 --> 02:43.600
217
+ Listo.
218
+
219
+ 02:43.600 --> 02:45.600
220
+ Entonces, tenemos nuestro array original,
221
+
222
+ 02:45.600 --> 02:48.600
223
+ que ser铆a USA, Canad谩, Canad谩,
224
+ UK.
225
+
226
+ 02:48.600 --> 02:52.600
227
+ Y mira que nos estuvo modificando ese
228
+ valor original que le
229
+
230
+ 02:52.600 --> 02:54.600
231
+ agregamos al
232
+ principio.
233
+
234
+ 02:54.600 --> 02:58.600
235
+ Y seguido de esto, nos dice que new
236
+ countries es un valor.
237
+
238
+ 02:58.600 --> 03:01.600
239
+ Es decir, que esta operaci贸n como tal,
240
+
241
+ 03:01.600 --> 03:05.600
242
+ aparte de que nos modifica, nos est谩
243
+ devolviendo ese valor.
244
+
245
+ 03:05.600 --> 03:08.600
246
+ Y ese valor es la nueva longitud del array.
247
+
248
+ 03:08.600 --> 03:12.600
249
+ En este caso, por supuesto, tenemos 1, 2, 3,
250
+ 4 y 5.
251
+
252
+ 03:12.600 --> 03:15.600
253
+ Propiedades o valores en este array.
254
+
255
+ 03:15.600 --> 03:18.600
256
+ Por otro lado, tenemos
257
+ pop.
258
+
259
+ 03:18.600 --> 03:21.600
260
+ 驴Qu茅 pop nos
261
+ hace?
262
+
263
+ 03:21.600 --> 03:25.600
264
+ Primero, nos elimina el 煤ltimo elemento
265
+ del array.
266
+
267
+ 03:25.600 --> 03:29.600
268
+ Y adicional, tambi茅n nos devuelve ese valor.
269
+
270
+ 03:29.600 --> 03:30.600
271
+ 驴C贸mo
272
+ ser铆a?
273
+
274
+ 03:30.600 --> 03:33.600
275
+ Entonces, vamos a colocar por ac谩 pop,
276
+
277
+ 03:33.600 --> 03:34.600
278
+ que ser铆a el otro
279
+ m茅todo.
280
+
281
+ 03:34.600 --> 03:38.600
282
+ Y vamos a colocarle una variable que se
283
+ llama removed.
284
+
285
+ 03:38.600 --> 03:42.600
286
+ Removed
287
+ country.
288
+
289
+ 03:42.600 --> 03:45.600
290
+ Y aqu铆, lo que vamos a hacer es tomar
291
+ nuestro countries,
292
+
293
+ 03:45.600 --> 03:49.600
294
+ el original, el array que creamos al
295
+ principio,
296
+
297
+ 03:49.600 --> 03:52.600
298
+ y le vamos a decir
299
+ pop.
300
+
301
+ 03:52.600 --> 03:55.600
302
+ Luego de este pop, vamos a hacer de nuevo
303
+ lo mismo.
304
+
305
+ 03:55.600 --> 03:57.600
306
+ Vamos a colocar dos
307
+ console.log.
308
+
309
+ 03:57.600 --> 04:01.600
310
+ El primero para revisar esta variable que
311
+ creamos.
312
+
313
+ 04:01.600 --> 04:06.600
314
+ Y el otro para colocar tambi茅n el array
315
+ que nosotros creamos.
316
+
317
+ 04:06.600 --> 04:08.600
318
+ Vamos a ver si se modific贸, qu茅 pas贸 con 茅l.
319
+
320
+ 04:08.600 --> 04:11.600
321
+ Entonces, vamos a correr el
322
+ c贸digo.
323
+
324
+ 04:11.600 --> 04:15.600
325
+ Y aqu铆 vemos, efectivamente, que countries
326
+ fue modificado de nuevo.
327
+
328
+ 04:15.600 --> 04:18.600
329
+ Le quit贸 el 煤ltimo
330
+ elemento.
331
+
332
+ 04:18.600 --> 04:25.600
333
+ Y adicional, nos devuelve ese elemento que
334
+ fue removido.
335
+
336
+ 04:25.600 --> 04:30.600
337
+ Aqu铆 voy a colocarle
338
+ country.
339
+
340
+ 04:30.600 --> 04:36.600
341
+ Y ya nos quedar铆a muy bien
342
+ escrito.
343
+
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/03-clase-push-pop_8fa0e05d-0543-4a98-9958-677a086bccb5.js ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Methods that modify the original array (Mutability).
2
+
3
+ // push()
4
+
5
+ const countries = ['USA', 'Canada', 'UK']
6
+ const newCountries = countries.push('Germany', 'Australia')
7
+
8
+ console.log(countries)
9
+ console.log(newCountries)
10
+
11
+ // pop()
12
+
13
+ const removedCountry = countries.pop()
14
+
15
+ console.log(countries)
16
+ console.log(removedCountry)
17
+
18
+ // Exercise: Managing a Stack
19
+
20
+ let bookCart = []
21
+
22
+ const ADD_TO_CART_ACTION = 'addToCart'
23
+ const REMOVE_FROM_CART_ACTION = 'removeFromCart'
24
+ const VIEW_CART_ACTION = 'viewCart'
25
+
26
+ function viewCart () {
27
+ console.log('Current Cart of Books: ', bookCart)
28
+ }
29
+
30
+ function performCartActions (action, newBook) {
31
+ switch (action) {
32
+ case ADD_TO_CART_ACTION:
33
+ bookCart.push(newBook)
34
+ break;
35
+ case REMOVE_FROM_CART_ACTION:
36
+ if (bookCart.length === 0) {
37
+ console.log('Cart is empty. No books to remove.')
38
+ } else {
39
+ const removedBook = bookCart.pop()
40
+ console.log(`Removed book from the cart: ${removedBook}`)
41
+ }
42
+ break;
43
+ case VIEW_CART_ACTION:
44
+ viewCart()
45
+ break;
46
+ default:
47
+ console.log('Invalid action. Please choose a vaid option.')
48
+ }
49
+ }
50
+
51
+ performCartActions(ADD_TO_CART_ACTION, 'Think like a monk')
52
+ performCartActions(VIEW_CART_ACTION)
53
+ performCartActions(ADD_TO_CART_ACTION, 'Ego is the enemy.')
54
+ performCartActions(VIEW_CART_ACTION)
55
+ performCartActions(REMOVE_FROM_CART_ACTION)
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-M茅todos map y forEach en JavaScript Uso y Ejemplos Pr谩cticos.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3304ffb53c84efc083f4b6d3dd54fed261c7899d7ed64ca436ced2f32fcd2a6
3
+ size 68869445
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-M茅todos map y forEach en JavaScript Uso y Ejemplos Pr谩cticos.vtt ADDED
@@ -0,0 +1,907 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:03.600
4
+ En esta clase vamos a ver dos m茅todos de
5
+ arrays
6
+
7
+ 00:03.600 --> 00:06.480
8
+ que no modifican el array
9
+ original,
10
+
11
+ 00:06.480 --> 00:09.380
12
+ pero que s铆 iteran sobre esos arrays.
13
+
14
+ 00:09.380 --> 00:12.540
15
+ Entonces, vamos a revisar el primero,
16
+ que es map.
17
+
18
+ 00:12.540 --> 00:16.240
19
+ Resulta que map es uno de los m茅todos m谩s
20
+ utilizados
21
+
22
+ 00:16.240 --> 00:20.200
23
+ en arrays, y justamente nos permite
24
+ aplicar una funci贸n
25
+
26
+ 00:20.200 --> 00:22.340
27
+ a cada uno de los elementos del array,
28
+
29
+ 00:22.340 --> 00:25.240
30
+ y tambi茅n nos permite construir un nuevo
31
+ array
32
+
33
+ 00:25.240 --> 00:27.180
34
+ con el
35
+ resultado.
36
+
37
+ 00:27.180 --> 00:28.540
38
+ 驴C贸mo se ver铆a
39
+ eso?
40
+
41
+ 00:28.540 --> 00:31.860
42
+ Tendr铆amos, por ejemplo, un array a este lado,
43
+
44
+ 00:31.860 --> 00:33.280
45
+ que tiene cinco
46
+ posiciones.
47
+
48
+ 00:33.280 --> 00:37.600
49
+ En este caso, los n煤meros son 2, 4, 8,
50
+ 10 y 12.
51
+
52
+ 00:37.600 --> 00:41.200
53
+ Pero si le aplicamos una funci贸n a cada uno,
54
+
55
+ 00:41.200 --> 00:44.880
56
+ esta funci贸n en este caso puede ser que se
57
+ multiplique por 2.
58
+
59
+ 00:44.880 --> 00:48.160
60
+ Aqu铆 estamos viendo que el resultado ser铆a
61
+ un nuevo
62
+
63
+ 00:48.160 --> 00:52.440
64
+ array, y ese array tendr铆a que el
65
+ resultado de haber hecho
66
+
67
+ 00:52.440 --> 00:55.600
68
+ justamente esta funci贸n por cada uno de
69
+ esos elementos.
70
+
71
+ 00:55.600 --> 00:59.640
72
+ Entonces, si decimos 2 por 2, 4, y el
73
+ resultado se ver铆a
74
+
75
+ 00:59.640 --> 01:00.960
76
+ inmediatamente
77
+ ac谩.
78
+
79
+ 01:00.960 --> 01:03.800
80
+ Vamos a realizar eso en el c贸digo para que
81
+ veamos mucho
82
+
83
+ 01:03.800 --> 01:06.280
84
+ mejor c贸mo es que esto
85
+ funciona.
86
+
87
+ 01:06.280 --> 01:09.960
88
+ Tendr铆amos, por ejemplo, ac谩 nuestro
89
+ m茅todo map,
90
+
91
+ 01:09.960 --> 01:11.960
92
+ y vamos a crear una
93
+ constante.
94
+
95
+ 01:11.960 --> 01:14.720
96
+ En este caso, vamos a decir que es numbers,
97
+
98
+ 01:14.720 --> 01:17.500
99
+ y vamos a colocarle unos
100
+ n煤meros.
101
+
102
+ 01:17.500 --> 01:23.000
103
+ En este caso, le voy a poner del 1 al 5, 2, 3,
104
+ 4 y 5.
105
+
106
+ 01:23.000 --> 01:28.360
107
+ Y seguido, lo que vamos a hacer es colocar
108
+ una variable para
109
+
110
+ 01:28.360 --> 01:32.120
111
+ poder tomar ese nuevo array que nos va a
112
+ entregar punto map.
113
+
114
+ 01:32.120 --> 01:33.740
115
+ Entonces, 驴qu茅 es lo que vamos a
116
+ hacer?
117
+
118
+ 01:33.740 --> 01:38.240
119
+ Vamos a decir que vamos a elevar los
120
+ n煤meros al mismo
121
+
122
+ 01:38.240 --> 01:39.680
123
+ n煤mero, es decir, al
124
+ cuadrado.
125
+
126
+ 01:39.680 --> 01:45.520
127
+ Entonces, vamos a decir squared, squared
128
+ numbers,
129
+
130
+ 01:45.520 --> 01:51.440
131
+ y vamos a decir numbers, que numbers punto
132
+ map.
133
+
134
+ 01:51.440 --> 01:53.560
135
+ Aqu铆 es donde viene la
136
+ funci贸n.
137
+
138
+ 01:53.560 --> 01:54.800
139
+ Vamos a
140
+ aplic谩rsela.
141
+
142
+ 01:54.800 --> 01:57.240
143
+ Entonces, ser铆a en este caso,
144
+ num.
145
+
146
+ 01:57.240 --> 02:01.960
147
+ Vamos a decir que num es cada una de estas
148
+ posiciones.
149
+
150
+ 02:01.960 --> 02:04.440
151
+ Y seguido, vamos a colocar un arrow function,
152
+
153
+ 02:04.440 --> 02:07.960
154
+ que en este caso nos va a devolver algo
155
+ que nosotros
156
+
157
+ 02:07.960 --> 02:11.960
158
+ queremos en este caso, que es justamente
159
+ la multiplicaci贸n de
160
+
161
+ 02:11.960 --> 02:13.560
162
+ este n煤mero por el
163
+ mismo.
164
+
165
+ 02:13.560 --> 02:17.880
166
+ Entonces, tenemos ac谩, recibimos cada uno
167
+ de los valores y
168
+
169
+ 02:17.880 --> 02:21.960
170
+ vamos a retornar ese mismo valor
171
+ multiplicado por el mismo.
172
+
173
+ 02:21.960 --> 02:26.120
174
+ Vamos a revisar c贸mo ser铆a eso, console.
175
+ log, 驴de qui茅n?
176
+
177
+ 02:26.120 --> 02:32.160
178
+ De numbers y de estos n煤meros tambi茅n
179
+ elevados al cuadrado.
180
+
181
+ 02:32.160 --> 02:37.360
182
+ Voy a colocar en node, clase, justamente, map.
183
+
184
+ 02:37.360 --> 02:39.800
185
+ Voy a correr este
186
+ c贸digo.
187
+
188
+ 02:39.800 --> 02:43.160
189
+ Y aqu铆 ya estamos viendo que tenemos
190
+ nuestro array original
191
+
192
+ 02:43.160 --> 02:45.600
193
+ sin ning煤n tipo de
194
+ modificaci贸n.
195
+
196
+ 02:45.600 --> 02:50.360
197
+ Y adicional, tenemos un array nuevo en
198
+ donde estamos haciendo
199
+
200
+ 02:50.360 --> 02:54.200
201
+ la multiplicaci贸n del mismo n煤mero de cada
202
+ uno de ellos por
203
+
204
+ 02:54.200 --> 02:54.800
205
+ el
206
+ mismo.
207
+
208
+ 02:54.800 --> 02:57.680
209
+ Entonces, aqu铆 estamos viendo el resultado
210
+ de hechos.
211
+
212
+ 02:57.680 --> 03:02.640
213
+ Seguido, tenemos otro m茅todo, que es el
214
+ m茅todo forEach.
215
+
216
+ 03:02.640 --> 03:07.120
217
+ Este m茅todo forEach lo que hace es iterar
218
+ sobre cada uno de los
219
+
220
+ 03:07.120 --> 03:10.760
221
+ elementos, al igual que punto map, pero en
222
+ este caso,
223
+
224
+ 03:10.760 --> 03:14.280
225
+ aparte de que tambi茅n ejecuta una funci贸n
226
+ proporcionada para
227
+
228
+ 03:14.280 --> 03:18.720
229
+ cada uno de estos elementos, no nos crea
230
+ un nuevo array.
231
+
232
+ 03:18.720 --> 03:21.280
233
+ Nos va a devolver como el mismo n煤mero.
234
+
235
+ 03:21.280 --> 03:22.920
236
+ Entonces, 驴qu茅 es lo que vamos a
237
+ hacer?
238
+
239
+ 03:22.920 --> 03:26.080
240
+ Dos, revisamos el array, la posici贸n,
241
+
242
+ 03:26.080 --> 03:30.000
243
+ efectuamos una funci贸n y 茅l nos va a
244
+ devolver algo,
245
+
246
+ 03:30.000 --> 03:33.000
247
+ pero ese algo no va a ser en forma de array.
248
+
249
+ 03:33.000 --> 03:35.680
250
+ Revisemos c贸mo ser铆a esto en c贸digo.
251
+
252
+ 03:35.680 --> 03:40.920
253
+ Vamos a colocar forEach y por aqu铆 vamos a
254
+ tener unas nuevas
255
+
256
+ 03:40.920 --> 03:41.840
257
+ variables.
258
+
259
+ 03:41.840 --> 03:47.320
260
+ Vamos a tener const, colors y aqu铆 vamos a
261
+ colocar,
262
+
263
+ 03:47.320 --> 03:49.200
264
+ por ejemplo, algunos
265
+ colores.
266
+
267
+ 03:49.200 --> 03:56.240
268
+ Voy a colocar red, pink y blue, por decir
269
+ algo.
270
+
271
+ 03:56.240 --> 03:59.560
272
+ A estos colores, lo que le vamos a hacer
273
+ es iterarlos y voy
274
+
275
+ 03:59.560 --> 04:02.200
276
+ a retornar el valor de cada
277
+ uno.
278
+
279
+ 04:02.200 --> 04:03.560
280
+ Eso es lo 煤nico que quiero
281
+ hacer.
282
+
283
+ 04:03.560 --> 04:09.440
284
+ Entonces, voy a colocar const iterated colors.
285
+
286
+ 04:09.440 --> 04:11.640
287
+ Vamos a iterar esos
288
+ colores.
289
+
290
+ 04:11.640 --> 04:14.920
291
+ Y lo que hacemos es tomar nuestro array,
292
+ decirle, mira,
293
+
294
+ 04:14.920 --> 04:18.680
295
+ yo quiero que recorras cada una de las
296
+ posiciones,
297
+
298
+ 04:18.680 --> 04:22.480
299
+ voy a tener cada uno de los valores y a su
300
+ vez,
301
+
302
+ 04:22.480 --> 04:27.600
303
+ quiero que por favor me digas cu谩l es el
304
+ valor de cada una de
305
+
306
+ 04:27.600 --> 04:28.640
307
+ esas
308
+ posiciones.
309
+
310
+ 04:28.640 --> 04:31.480
311
+ Entonces, tenemos ac谩
312
+ color.
313
+
314
+ 04:31.480 --> 04:35.400
315
+ Y vamos a colocar nuevamente nuestro console.
316
+ log,
317
+
318
+ 04:35.400 --> 04:40.980
319
+ tanto con colors como con este iterated
320
+ colors.
321
+
322
+ 04:40.980 --> 04:43.980
323
+ Vamos a correr nuevamente nuestro programa
324
+ y nos dice que
325
+
326
+ 04:43.980 --> 04:48.640
327
+ tenemos colors, que es nuestro array
328
+ original y aqu铆 nos va
329
+
330
+ 04:48.640 --> 04:52.080
331
+ a salir que iterated colors es indefinido.
332
+
333
+ 04:52.080 --> 04:56.680
334
+ Pero algo interesante es lo que sucedi贸
335
+ previo a esto.
336
+
337
+ 04:56.680 --> 04:59.360
338
+ Resulta que 茅l s铆 hizo lo que nosotros
339
+ quer铆amos,
340
+
341
+ 04:59.360 --> 05:02.820
342
+ que era precisamente que recorriera todo
343
+ el array y que
344
+
345
+ 05:02.820 --> 05:06.440
346
+ cada vez que lo recorriera nos devolviera
347
+ el valor de cada uno
348
+
349
+ 05:06.440 --> 05:07.400
350
+ de los
351
+ elementos.
352
+
353
+ 05:07.400 --> 05:10.600
354
+ Entonces, aqu铆 tenemos red, pink y blue.
355
+
356
+ 05:10.600 --> 05:15.520
357
+ S铆 hizo lo que quer铆amos, pero ya
358
+ recordemos ac谩 que 茅l no nos
359
+
360
+ 05:15.520 --> 05:18.560
361
+ devuelve un array as铆 como map, sino que
362
+ en este caso dice
363
+
364
+ 05:18.560 --> 05:21.640
365
+ como, no, pues, no te voy a devolver nada,
366
+ es decir,
367
+
368
+ 05:21.640 --> 05:25.600
369
+ te voy a devolver indefinido, pero s铆 voy
370
+ a hacer algo y ese
371
+
372
+ 05:25.600 --> 05:30.480
373
+ algo es arrojarte cada uno de los valores
374
+ de nuestro array.
375
+
376
+ 05:30.480 --> 05:33.680
377
+ Veamos ahora un ejemplo
378
+ aplicado.
379
+
380
+ 05:33.680 --> 05:37.760
381
+ Vamos a revisar este documento y tenemos
382
+ la conversi贸n de
383
+
384
+ 05:37.760 --> 05:41.480
385
+ temperaturas de Fahrenheit a Celsius.
386
+
387
+ 05:41.480 --> 05:42.400
388
+ 驴C贸mo ser铆a
389
+ eso?
390
+
391
+ 05:42.400 --> 05:45.760
392
+ Vamos a crear un programa que tome las
393
+ temperaturas que est谩n
394
+
395
+ 05:45.760 --> 05:49.320
396
+ en Fahrenheit como un input, es decir,
397
+ como entrada,
398
+
399
+ 05:49.320 --> 05:52.800
400
+ y lo que vamos a hacer es convertirlas a
401
+ Celsius.
402
+
403
+ 05:52.800 --> 05:55.400
404
+ En este caso nos dicen que debemos
405
+ utilizar la siguiente
406
+
407
+ 05:55.400 --> 05:56.560
408
+ f贸rmula.
409
+
410
+ 05:56.560 --> 05:59.560
411
+ Cu茅ntame en los comentarios, por favor,
412
+
413
+ 05:59.560 --> 06:01.800
414
+ 驴qu茅 utilizar铆as en este
415
+ ejercicio?
416
+
417
+ 06:01.800 --> 06:04.080
418
+ Map o
419
+ foreach.
420
+
421
+ 06:04.080 --> 06:07.760
422
+ Vamos a revisar qu茅 deber铆amos utilizar en
423
+ este caso.
424
+
425
+ 06:07.760 --> 06:11.680
426
+ Entonces vamos a colocar por ac谩, exercise.
427
+
428
+ 06:11.680 --> 06:15.120
429
+ Y en este caso le vamos a colocar Fahrenheit.
430
+
431
+ 06:15.120 --> 06:18.640
432
+ Fahrenheit.
433
+
434
+ 06:18.640 --> 06:20.760
435
+ Vamos a ver si lo escribo
436
+ bien.
437
+
438
+ 06:20.760 --> 06:22.800
439
+ 2
440
+ Celsius.
441
+
442
+ 06:22.800 --> 06:23.320
443
+ Listo.
444
+
445
+ 06:23.320 --> 06:24.120
446
+ Conversion.
447
+
448
+ 06:24.120 --> 06:26.120
449
+ Conversion.
450
+
451
+ 06:26.120 --> 06:26.620
452
+ Muy
453
+ bien.
454
+
455
+ 06:26.620 --> 06:30.800
456
+ Vamos a tener una constante que nos va a
457
+ dar justamente las
458
+
459
+ 06:30.800 --> 06:32.560
460
+ temperaturas en
461
+ Fahrenheit.
462
+
463
+ 06:32.560 --> 06:36.200
464
+ Entonces voy a copiarme esto que acab茅 de
465
+ escribir y voy
466
+
467
+ 06:36.200 --> 06:40.120
468
+ a colocarle al principio temperaturas.
469
+
470
+ 06:40.120 --> 06:43.000
471
+ Temperaturas.
472
+
473
+ 06:43.000 --> 06:44.440
474
+ Listo.
475
+
476
+ 06:44.440 --> 06:45.640
477
+ En
478
+ Fahrenheit.
479
+
480
+ 06:45.640 --> 06:48.120
481
+ Entonces ya tenemos nuestra variable.
482
+
483
+ 06:48.120 --> 06:51.360
484
+ Esa variable va a ser un array y este
485
+ array va a tener
486
+
487
+ 06:51.360 --> 06:53.760
488
+ justamente las temperaturas, que va a ser,
489
+ por ejemplo,
490
+
491
+ 06:53.760 --> 07:00.440
492
+ 32, 68, 95, eso puede ser cualquier valor
493
+ que queramos,
494
+
495
+ 07:00.440 --> 07:04.040
496
+ y 212, por
497
+ ejemplo.
498
+
499
+ 07:04.040 --> 07:07.560
500
+ Seguido de esto, lo que debemos hacer es
501
+ la conversi贸n de
502
+
503
+ 07:07.560 --> 07:10.480
504
+ esas temperaturas que est谩n en Fahrenheit
505
+ a Celsius.
506
+
507
+ 07:10.480 --> 07:14.000
508
+ Entonces vamos a crearnos otra constante,
509
+ const,
510
+
511
+ 07:14.000 --> 07:17.840
512
+ temperaturas, voy a ahorrarme el hecho de
513
+ volver a colocar
514
+
515
+ 07:17.840 --> 07:21.120
516
+ temperaturas, y ahora voy a colocar Celsius,
517
+
518
+ 07:21.120 --> 07:23.320
519
+ que ya tambi茅n lo escrib铆 por
520
+ aqu铆.
521
+
522
+ 07:23.320 --> 07:26.040
523
+ Ahora, 驴qu茅 ser铆a
524
+ esto?
525
+
526
+ 07:26.040 --> 07:28.320
527
+ Por supuesto, nos tocar铆a tomar nuestro array,
528
+
529
+ 07:28.320 --> 07:31.160
530
+ que es el de las temperaturas en Fahrenheit,
531
+
532
+ 07:31.160 --> 07:36.240
533
+ seguido de el m茅todo, que en este caso
534
+ ser铆a map,
535
+
536
+ 07:36.240 --> 07:41.480
537
+ precisamente porque queremos recibir
538
+ justamente un array con
539
+
540
+ 07:41.480 --> 07:44.960
541
+ las temperaturas, pero en este caso,
542
+ convertidas a Celsius.
543
+
544
+ 07:44.960 --> 07:46.840
545
+ Por eso que necesitamos un punto m谩s,
546
+
547
+ 07:46.840 --> 07:51.080
548
+ porque necesitamos recibir un array que
549
+ sea las temperaturas
550
+
551
+ 07:51.080 --> 07:52.480
552
+ convertidas.
553
+
554
+ 07:52.480 --> 07:54.440
555
+ Entonces, 驴qu茅 es lo que vamos a
556
+ colocar?
557
+
558
+ 07:54.440 --> 07:57.320
559
+ Vamos a escribir Fahrenheit, voy a tomarme
560
+ eso,
561
+
562
+ 07:57.320 --> 08:01.640
563
+ que ser铆a como la temperatura o cada valor
564
+ en particular,
565
+
566
+ 08:01.640 --> 08:05.760
567
+ y lo que hacemos es aplicar la f贸rmula que
568
+ nos dieron ac谩,
569
+
570
+ 08:05.760 --> 08:07.640
571
+ por cada uno de los
572
+ elementos.
573
+
574
+ 08:07.640 --> 08:08.960
575
+ 驴C贸mo ser铆a esa
576
+ f贸rmula?
577
+
578
+ 08:08.960 --> 08:11.800
579
+ Entonces vamos a colocar, entre par茅ntesis,
580
+
581
+ 08:11.800 --> 08:16.920
582
+ 5 dividido 9, que es el primer valor que
583
+ tenemos ac谩,
584
+
585
+ 08:16.920 --> 08:20.920
586
+ seguido de una multiplicaci贸n, 驴de
587
+ qui茅n?
588
+
589
+ 08:20.920 --> 08:24.600
590
+ De la temperatura en Fahrenheit, menos 32.
591
+
592
+ 08:24.600 --> 08:28.280
593
+ Entonces vamos a colocar por ac谩 nuestra
594
+ temperatura en
595
+
596
+ 08:28.280 --> 08:32.280
597
+ Fahrenheit, menos
598
+ 32.
599
+
600
+ 08:32.280 --> 08:36.800
601
+ Y aqu铆 ya tendr铆amos nuestra f贸rmula por
602
+ cada uno de los
603
+
604
+ 08:36.800 --> 08:40.360
605
+ elementos, y ya lo estamos agregando a una
606
+ variable,
607
+
608
+ 08:40.360 --> 08:43.880
609
+ que es esta de las temperaturas en Celsius.
610
+
611
+ 08:43.880 --> 08:47.560
612
+ Vamos a colocar un console.log, en donde
613
+ vamos a revisar,
614
+
615
+ 08:47.560 --> 08:48.240
616
+ 驴qui茅n?
617
+
618
+ 08:48.240 --> 08:49.960
619
+ Las temperaturas en
620
+ Fahrenheit.
621
+
622
+ 08:49.960 --> 08:53.680
623
+ Entonces, temperatures, voy a colocar esto
624
+ as铆.
625
+
626
+ 08:53.680 --> 08:56.960
627
+ Ups, no, no todo, solo el nombre de la
628
+ variable.
629
+
630
+ 08:56.960 --> 09:02.160
631
+ Temperatures in Fahrenheit, vamos a
632
+ colocarlo as铆.
633
+
634
+ 09:02.160 --> 09:04.440
635
+ Y colocamos ac谩 nuestra
636
+ variable,
637
+
638
+ 09:04.440 --> 09:08.120
639
+ para que no la arroje, seguido de un console.
640
+ log,
641
+
642
+ 09:08.120 --> 09:11.200
643
+ en donde tambi茅n vamos a revisar las
644
+ temperaturas en grados
645
+
646
+ 09:11.200 --> 09:11.880
647
+ Celsius.
648
+
649
+ 09:11.880 --> 09:16.560
650
+ Entonces colocamos por ac谩, temperaturas
651
+ en Celsius,
652
+
653
+ 09:16.560 --> 09:20.400
654
+ dos puntos, y colocamos ac谩
655
+ esto.
656
+
657
+ 09:20.400 --> 09:23.960
658
+ Vamos a guardar, corremos nuevamente
659
+ nuestro c贸digo,
660
+
661
+ 09:23.960 --> 09:27.720
662
+ y aqu铆 ya tenemos nuestras temperaturas en
663
+ Fahrenheit,
664
+
665
+ 09:27.720 --> 09:31.000
666
+ que aqu铆 ya vemos el tema de que no nos
667
+ est谩 mutando nuestra
668
+
669
+ 09:31.000 --> 09:32.040
670
+ array.
671
+
672
+ 09:32.040 --> 09:35.240
673
+ Y segundo, estamos viendo ya la conversi贸n.
674
+
675
+ 09:35.240 --> 09:39.640
676
+ Corremos nuestro c贸digo, y aqu铆 ya nos
677
+ salen las temperaturas
678
+
679
+ 09:39.640 --> 09:40.520
680
+ en
681
+ Fahrenheit.
682
+
683
+ 09:40.520 --> 09:45.080
684
+ Aqu铆 algo interesante es que no nos
685
+ modific贸 el array original,
686
+
687
+ 09:45.080 --> 09:47.960
688
+ y adicional, tenemos nuestras temperaturas
689
+ en Celsius.
690
+
691
+ 09:47.960 --> 09:50.760
692
+ Entonces, aplicamos justamente esto que
693
+ vimos en nuestro
694
+
695
+ 09:50.760 --> 09:55.480
696
+ documento, en donde tenemos que en map va
697
+ a suceder algo,
698
+
699
+ 09:55.480 --> 10:00.640
700
+ una funci贸n cualquiera, y nos va a arrojar
701
+ en cada una de las
702
+
703
+ 10:00.640 --> 10:02.720
704
+ posiciones un valor
705
+ diferente.
706
+
707
+ 10:02.720 --> 10:06.000
708
+ Ahora, revisemos otro
709
+ ejercicio.
710
+
711
+ 10:06.000 --> 10:10.640
712
+ Tenemos por ac谩, suma de los elementos en
713
+ un array.
714
+
715
+ 10:10.640 --> 10:14.680
716
+ Crea un programa que tome los n煤meros de
717
+ un array,
718
+
719
+ 10:14.680 --> 10:18.920
720
+ y justamente calcula la suma de todos los
721
+ elementos de un
722
+
723
+ 10:18.920 --> 10:19.640
724
+ array.
725
+
726
+ 10:19.640 --> 10:22.120
727
+ Por favor, cu茅ntame en los comentarios que
728
+ utilizar铆as,
729
+
730
+ 10:22.120 --> 10:24.400
731
+ map o
732
+ foliage.
733
+
734
+ 10:24.400 --> 10:27.320
735
+ Yo, mientras t煤 vas escribiendo eso,
736
+
737
+ 10:27.320 --> 10:29.360
738
+ yo voy a ir colocando ac谩 el t铆tulo,
739
+
740
+ 10:29.360 --> 10:35.160
741
+ exercise, sum of elements in an array.
742
+
743
+ 10:35.160 --> 10:36.160
744
+ OK.
745
+
746
+ 10:36.160 --> 10:37.360
747
+ Vamos a irlo a
748
+ revisar.
749
+
750
+ 10:37.360 --> 10:41.080
751
+ Vamos a crear nuestro array, que en este
752
+ caso es const,
753
+
754
+ 10:41.080 --> 10:45.800
755
+ numbers va a ser igual aqu铆 a numbers en
756
+ plural,
757
+
758
+ 10:45.800 --> 10:51.560
759
+ y aqu铆 va a ser igual a, vamos a colocar 1, 2,
760
+ 3, 4, y 5.
761
+
762
+ 10:51.560 --> 10:55.440
763
+ Seguido, creo que por ac谩 tenemos otro,
764
+ entonces,
765
+
766
+ 10:55.440 --> 10:57.920
767
+ new
768
+ numbers.
769
+
770
+ 10:57.920 --> 11:01.640
771
+ Ahora, lo que vamos a hacer es crearnos
772
+ una variable,
773
+
774
+ 11:01.640 --> 11:07.360
775
+ en este caso ser铆a let suma, y este vamos
776
+ a inicializarlo
777
+
778
+ 11:07.360 --> 11:09.320
779
+ justamente en
780
+ 0.
781
+
782
+ 11:09.320 --> 11:09.920
783
+ 驴Por
784
+ qu茅?
785
+
786
+ 11:09.920 --> 11:14.120
787
+ Porque queremos almacenar ac谩 el nuevo
788
+ valor que justamente
789
+
790
+ 11:14.120 --> 11:16.720
791
+ necesitamos, que es el de la suma de todos
792
+ los n煤meros del
793
+
794
+ 11:16.720 --> 11:17.760
795
+ array.
796
+
797
+ 11:17.760 --> 11:21.960
798
+ Para ello, lo que vamos a hacer es tomar
799
+ new numbers y vamos
800
+
801
+ 11:21.960 --> 11:27.640
802
+ a aplicar nuestro m茅todo, que en este caso
803
+ ser铆a for each.
804
+
805
+ 11:27.640 --> 11:31.280
806
+ Este for each, lo que nos va a permitir es
807
+ tomar cada uno de
808
+
809
+ 11:31.280 --> 11:33.760
810
+ los elementos y empezarlos a
811
+ sumar.
812
+
813
+ 11:33.760 --> 11:37.880
814
+ Entonces, vamos a tomar number, que ser铆a
815
+ por cada uno,
816
+
817
+ 11:37.880 --> 11:40.120
818
+ y retornemos
819
+ justamente.
820
+
821
+ 11:40.120 --> 11:41.640
822
+ Vamos a tomar la
823
+ suma.
824
+
825
+ 11:41.640 --> 11:46.480
826
+ Voy a crear ac谩 unas llaves para colocarlo
827
+ en un salto de l铆nea.
828
+
829
+ 11:46.480 --> 11:53.640
830
+ Coloco suma, y esa suma ser铆a la suma
831
+ anterior m谩s el valor de
832
+
833
+ 11:53.640 --> 11:55.720
834
+ el nuevo n煤mero que
835
+ tengamos.
836
+
837
+ 11:55.720 --> 12:00.520
838
+ Esto en JavaScript tambi茅n se puede
839
+ escribir como m谩s igual
840
+
841
+ 12:00.520 --> 12:01.840
842
+ number.
843
+
844
+ 12:01.840 --> 12:03.200
845
+ Y ya tendr铆amos
846
+ eso.
847
+
848
+ 12:03.200 --> 12:06.880
849
+ Y lo que vamos a hacer es console.log,
850
+ 驴de qui茅n?
851
+
852
+ 12:06.880 --> 12:10.400
853
+ De new numbers, que ser铆an los n煤meros que
854
+ tenemos en el array.
855
+
856
+ 12:10.400 --> 12:12.120
857
+ Voy a colocar por ac谩 tambi茅n un mensajito,
858
+
859
+ 12:12.120 --> 12:14.440
860
+ as铆 como hicimos en el ejercicio pasado.
861
+
862
+ 12:14.440 --> 12:21.000
863
+ Voy a colocar array of numbers y voy a
864
+ colocar console.log,
865
+
866
+ 12:21.000 --> 12:21.960
867
+ 驴de
868
+ qui茅n?
869
+
870
+ 12:21.960 --> 12:24.600
871
+ De la suma de todos los
872
+ n煤meros.
873
+
874
+ 12:24.600 --> 12:29.440
875
+ Entonces, voy a colocar sum of numbers.
876
+
877
+ 12:29.440 --> 12:33.360
878
+ Y aqu铆 le coloco nuestra variable suma.
879
+
880
+ 12:33.360 --> 12:35.080
881
+ Vamos a
882
+ guardar.
883
+
884
+ 12:35.080 --> 12:38.880
885
+ Revisamos nuestro c贸digo y vemos nuestro
886
+ array y la suma de
887
+
888
+ 12:38.880 --> 12:39.560
889
+ todos
890
+ ellos.
891
+
892
+ 12:39.560 --> 12:44.840
893
+ Revisemos 5 m谩s 4, 9 m谩s este 1, 10,
894
+ y estos dos aqu铆.
895
+
896
+ 12:44.840 --> 12:48.160
897
+ Nos qued贸 genial el c贸digo, as铆 que por
898
+ favor cu茅ntame en los
899
+
900
+ 12:48.160 --> 12:51.040
901
+ comentarios c贸mo te quedaron estos dos
902
+ ejercicios y si le
903
+
904
+ 12:51.040 --> 13:05.680
905
+ pertinaste, por supuesto, al uso de map y
906
+ for each.
907
+
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/04-clase-map-foreach_d7b1a93f-0f56-4fd3-a419-c28c09dc2a16.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Methods that iterate over an array.
2
+ // Methods that DO NOT modify the original array (Immutability).
3
+
4
+ // map()
5
+
6
+ const numbers = [1, 2, 3, 4, 5]
7
+ const squaredNumbers = numbers.map(num => num * num)
8
+
9
+ console.log(numbers)
10
+ console.log(squaredNumbers)
11
+
12
+ // forEach()
13
+
14
+ const colors = ['red', 'pink', 'blue']
15
+ const iteratedColors = colors.forEach(color => console.log(color))
16
+
17
+ console.log(colors)
18
+ console.log(iteratedColors)
19
+
20
+ // Exercise: Fahrenheit to Celsius conversion
21
+
22
+ const temperaturesInFahrenheit = [32, 68, 95, 104, 212]
23
+
24
+ const temperaturesInCelsius = temperaturesInFahrenheit.map(fahrenheit => (5/9) * (fahrenheit - 32))
25
+
26
+ console.log('Temperatures In Fahrenheit: ', temperaturesInFahrenheit)
27
+ console.log('Temperatures In Celsius: ', temperaturesInCelsius)
28
+
29
+ // Exercise: Sum of Elements in an Array
30
+
31
+ const newNumbers = [1, 2, 3, 4, 5]
32
+
33
+ let sum = 0
34
+
35
+ newNumbers.forEach(number => {
36
+ sum += number
37
+ })
38
+
39
+ console.log('Array of Numbers: ', newNumbers)
40
+ console.log('Sum of Numbers: ', sum)
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-M茅todos Filter y Reduce en JavaScript Uso y Ejemplos Pr谩cticos.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:293e4b713a401fa2895e8e60e4683c090862ffc6ad0ab04c5e973f569b56cac5
3
+ size 61041444
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-M茅todos Filter y Reduce en JavaScript Uso y Ejemplos Pr谩cticos.vtt ADDED
@@ -0,0 +1,1198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:03.540
4
+ En esta clase vamos a estar hablando sobre
5
+ dos m茅todos de Arrays
6
+
7
+ 00:03.540 --> 00:06.080
8
+ que no modifican el Array
9
+ original.
10
+
11
+ 00:06.080 --> 00:08.740
12
+ Ellos son Filter y
13
+ Reduce.
14
+
15
+ 00:08.740 --> 00:11.040
16
+ Filter, en este
17
+ caso,
18
+
19
+ 00:11.040 --> 00:13.680
20
+ nos va a mostrar que tenemos un Array,
21
+
22
+ 00:13.680 --> 00:17.040
23
+ en este caso es 2, 4, 8, 10 y
24
+ 12,
25
+
26
+ 00:17.040 --> 00:21.180
27
+ y resulta que cada uno de ellos va a pasar
28
+ por una funci贸n,
29
+
30
+ 00:21.180 --> 00:24.540
31
+ pero esta funci贸n debe ser a su vez una
32
+ condici贸n,
33
+
34
+ 00:24.540 --> 00:28.340
35
+ es decir, si este n煤mero, en este caso,
36
+
37
+ 00:28.340 --> 00:30.340
38
+ pasa esa
39
+ condici贸n,
40
+
41
+ 00:30.340 --> 00:33.340
42
+ se crea un nuevo Array con esos
43
+ elementos
44
+
45
+ 00:33.340 --> 00:35.340
46
+ que pasaron la
47
+ condici贸n.
48
+
49
+ 00:35.340 --> 00:39.140
50
+ Por ejemplo, aqu铆 estamos viendo que los
51
+ n煤meros mayores a 5,
52
+
53
+ 00:39.140 --> 00:42.940
54
+ por ejemplo, est谩n pasando aqu铆 a este
55
+ nuevo Array
56
+
57
+ 00:42.940 --> 00:45.340
58
+ y se est谩 creando el Array con los
59
+ n煤meros
60
+
61
+ 00:45.340 --> 00:47.540
62
+ que sean mayores a
63
+ 5.
64
+
65
+ 00:47.540 --> 00:49.540
66
+ En este caso vamos a revisarlo en el
67
+ c贸digo
68
+
69
+ 00:49.540 --> 00:52.240
70
+ para ver precisamente c贸mo es que funciona.
71
+
72
+ 00:52.240 --> 00:54.940
73
+ Entonces vamos a colocar por ac谩 un
74
+ comentario
75
+
76
+ 00:54.940 --> 00:56.340
77
+ que se llame
78
+ Filter,
79
+
80
+ 00:56.340 --> 00:59.840
81
+ y vamos a crear una variable que se llame
82
+ Numbers,
83
+
84
+ 00:59.840 --> 01:03.140
85
+ y dentro de Numbers vamos a crear un Array
86
+ de n煤meros,
87
+
88
+ 01:03.140 --> 01:07.440
89
+ puede ser, por ejemplo, 2, 3, 4,
90
+ 5,
91
+
92
+ 01:07.440 --> 01:11.140
93
+ ll茅vamolo hasta 10, 8, 9 y
94
+ 10.
95
+
96
+ 01:11.140 --> 01:13.240
97
+ Teniendo en cuenta este
98
+ Array,
99
+
100
+ 01:13.240 --> 01:15.940
101
+ lo que vamos a hacer es crear otra
102
+ variable
103
+
104
+ 01:15.940 --> 01:20.240
105
+ en donde vamos a crear solamente los
106
+ n煤meros que son pares.
107
+
108
+ 01:20.240 --> 01:21.240
109
+ 驴C贸mo lo vamos a
110
+ crear?
111
+
112
+ 01:21.240 --> 01:23.840
113
+ Vamos a decir
114
+ evenNumbers,
115
+
116
+ 01:23.840 --> 01:28.240
117
+ y va a ser el Array que ten铆amos inicialmente,
118
+
119
+ 01:28.240 --> 01:30.140
120
+ punto
121
+ Filter,
122
+
123
+ 01:30.140 --> 01:33.940
124
+ y dentro de Filter es que vamos a crear
125
+ esa funci贸n
126
+
127
+ 01:33.940 --> 01:37.440
128
+ que nos va a retornar los elementos que s铆
129
+ queremos,
130
+
131
+ 01:37.440 --> 01:39.840
132
+ que en este caso son los n煤meros pares.
133
+
134
+ 01:39.840 --> 01:40.840
135
+ 驴C贸mo lo
136
+ hacemos?
137
+
138
+ 01:40.840 --> 01:42.940
139
+ Creamos aqu铆 un
140
+ par谩metro
141
+
142
+ 01:42.940 --> 01:44.840
143
+ que va a ser cada uno de los elementos,
144
+
145
+ 01:44.840 --> 01:46.740
146
+ por eso lo ponemos en
147
+ singular,
148
+
149
+ 01:46.740 --> 01:49.040
150
+ seguido vamos a colocar un ArrowFunction,
151
+
152
+ 01:49.040 --> 01:52.440
153
+ y aqu铆 en este lado vamos a colocar
154
+ justamente
155
+
156
+ 01:52.440 --> 01:54.040
157
+ lo que nos va a
158
+ retornar,
159
+
160
+ 01:54.040 --> 01:56.640
161
+ o la condici贸n que queremos
162
+ obtener
163
+
164
+ 01:56.640 --> 01:59.040
165
+ justamente para este
166
+ filtrado.
167
+
168
+ 01:59.040 --> 01:59.840
169
+ 驴C贸mo
170
+ ser铆a?
171
+
172
+ 01:59.840 --> 02:01.740
173
+ Vamos a colocar
174
+ Number,
175
+
176
+ 02:01.740 --> 02:05.340
177
+ aqu铆 vamos a colocar m贸dulo
178
+ 2,
179
+
180
+ 02:05.340 --> 02:08.740
181
+ que en este caso nos va a arrojar un n煤mero.
182
+
183
+ 02:08.740 --> 02:12.740
184
+ Si el m贸dulo de este n煤mero es igual a cero,
185
+
186
+ 02:12.740 --> 02:15.340
187
+ ya sabemos que es un n煤mero
188
+ par.
189
+
190
+ 02:15.340 --> 02:18.140
191
+ Para esto vamos a revisar qu茅 es un m贸dulo.
192
+
193
+ 02:18.140 --> 02:21.440
194
+ B谩sicamente, si tenemos una divisi贸n,
195
+
196
+ 02:21.440 --> 02:24.540
197
+ en este caso tomemos el n煤mero 4, por ejemplo,
198
+
199
+ 02:24.540 --> 02:27.240
200
+ y estamos haciendo la divisi贸n con 2,
201
+
202
+ 02:27.240 --> 02:29.440
203
+ supongamos que esto es lo que normalmente
204
+ hacemos
205
+
206
+ 02:29.440 --> 02:31.940
207
+ cuando creamos una
208
+ divisi贸n,
209
+
210
+ 02:31.940 --> 02:33.240
211
+ voy a colocarlo
212
+ as铆,
213
+
214
+ 02:33.240 --> 02:35.040
215
+ tenemos 4 dividido
216
+ 2,
217
+
218
+ 02:35.040 --> 02:38.140
219
+ y aqu铆 lo que hacemos es crear un valor,
220
+
221
+ 02:38.140 --> 02:39.940
222
+ aqu铆 decimos cu谩ntas veces
223
+ est谩,
224
+
225
+ 02:39.940 --> 02:41.540
226
+ entonces ser铆a
227
+ 2,
228
+
229
+ 02:41.540 --> 02:43.440
230
+ 2 por 2,
231
+ 4,
232
+
233
+ 02:43.440 --> 02:44.940
234
+ y aqu铆 ser铆a
235
+ cero.
236
+
237
+ 02:44.940 --> 02:49.040
238
+ Si ese m贸dulo, este valor del m贸dulo es cero,
239
+
240
+ 02:49.040 --> 02:52.140
241
+ pues precisamente ya sabemos que es un
242
+ n煤mero par.
243
+
244
+ 02:52.140 --> 02:54.040
245
+ De lo contrario, si el n煤mero no es cero,
246
+
247
+ 02:54.040 --> 02:56.940
248
+ pues ya sabemos que no es un n煤mero par.
249
+
250
+ 02:56.940 --> 03:00.040
251
+ Ahora vamos a revisar un console.log,
252
+
253
+ 03:00.040 --> 03:03.940
254
+ donde revisemos tanto los n煤meros
255
+ iniciales que creamos,
256
+
257
+ 03:03.940 --> 03:05.040
258
+ 驴como
259
+ qui茅n?
260
+
261
+ 03:05.040 --> 03:07.940
262
+ Como los n煤meros pares que acabamos de
263
+ filtrar.
264
+
265
+ 03:07.940 --> 03:10.540
266
+ Vamos a correr nuestro
267
+ c贸digo,
268
+
269
+ 03:10.540 --> 03:12.440
270
+ le decimos
271
+ node,
272
+
273
+ 03:12.440 --> 03:13.640
274
+ clase,
275
+
276
+ 03:13.640 --> 03:15.240
277
+ filter,
278
+
279
+ 03:15.240 --> 03:18.140
280
+ y aqu铆 vemos que tenemos nuestros
281
+ n煤meros
282
+
283
+ 03:18.140 --> 03:19.540
284
+ de 1 a
285
+ 10,
286
+
287
+ 03:19.540 --> 03:21.540
288
+ y seguido tenemos nuestro
289
+ array
290
+
291
+ 03:21.540 --> 03:24.740
292
+ solamente con n煤meros que son pares.
293
+
294
+ 03:24.740 --> 03:27.240
295
+ Ahora vamos con el otro
296
+ m茅todo,
297
+
298
+ 03:27.240 --> 03:29.140
299
+ que es
300
+ reduce.
301
+
302
+ 03:29.140 --> 03:31.540
303
+ 驴Qu茅 nos hace este
304
+ m茅todo?
305
+
306
+ 03:31.540 --> 03:33.140
307
+ Como su nombre lo
308
+ indica,
309
+
310
+ 03:33.140 --> 03:36.340
311
+ es b谩sicamente reducir un
312
+ array
313
+
314
+ 03:36.340 --> 03:38.040
315
+ a un solo
316
+ valor.
317
+
318
+ 03:38.040 --> 03:39.240
319
+ En este
320
+ caso,
321
+
322
+ 03:39.240 --> 03:42.140
323
+ tenemos el n煤mero 1, 2, 3 y
324
+ 4,
325
+
326
+ 03:42.140 --> 03:43.940
327
+ y lo que se est谩 haciendo
328
+ es
329
+
330
+ 03:43.940 --> 03:45.940
331
+ sumando todos los
332
+ valores,
333
+
334
+ 03:45.940 --> 03:48.140
335
+ obteniendo justamente
336
+ 1.
337
+
338
+ 03:48.140 --> 03:49.740
339
+ Esa ser铆a la
340
+ reducci贸n.
341
+
342
+ 03:49.740 --> 03:51.840
343
+ En este caso, 4 m谩s 3 es
344
+ 7,
345
+
346
+ 03:51.840 --> 03:53.040
347
+ 7 m谩s 2,
348
+ 9,
349
+
350
+ 03:53.040 --> 03:54.640
351
+ y m谩s 1,
352
+ 10.
353
+
354
+ 03:54.640 --> 03:56.940
355
+ Vamos a ver c贸mo ser铆a esto en el c贸digo.
356
+
357
+ 03:56.940 --> 03:58.840
358
+ Coloquemos ac谩
359
+ reduce,
360
+
361
+ 03:58.840 --> 04:02.240
362
+ y vamos a empezar a crear nuestras variables.
363
+
364
+ 04:02.240 --> 04:04.040
365
+ Voy a colocar
366
+ ac谩
367
+
368
+ 04:04.040 --> 04:06.040
369
+ una constante que se
370
+ llame
371
+
372
+ 04:06.040 --> 04:08.040
373
+ numbersReduce,
374
+
375
+ 04:08.040 --> 04:10.040
376
+ para que hagamos una
377
+ diferenciaci贸n
378
+
379
+ 04:10.040 --> 04:13.540
380
+ con esta otra variable que creamos aqu铆
381
+ arriba,
382
+
383
+ 04:13.540 --> 04:15.840
384
+ y vamos a empezar a crear nuestro
385
+ array
386
+
387
+ 04:15.840 --> 04:17.840
388
+ en este caso puede ser, por ejemplo,
389
+
390
+ 04:17.840 --> 04:19.640
391
+ de n煤meros del 1 al
392
+ 5.
393
+
394
+ 04:19.640 --> 04:22.940
395
+ Entonces, 1, 2, 3, 4 y
396
+ 5.
397
+
398
+ 04:22.940 --> 04:24.440
399
+ 驴Qu茅 vamos a hacer
400
+ ahora?
401
+
402
+ 04:24.440 --> 04:26.040
403
+ Vamos a
404
+ sumarlos.
405
+
406
+ 04:26.040 --> 04:27.940
407
+ Entonces, vamos a crear una
408
+ variable
409
+
410
+ 04:27.940 --> 04:29.440
411
+ que se llame
412
+ suma,
413
+
414
+ 04:29.440 --> 04:30.640
415
+ y dentro de
416
+ suma,
417
+
418
+ 04:30.640 --> 04:32.240
419
+ vamos a colocar lo
420
+ siguiente,
421
+
422
+ 04:32.240 --> 04:33.840
423
+ numbersReduce,
424
+
425
+ 04:33.840 --> 04:34.940
426
+ y en este
427
+ caso,
428
+
429
+ 04:34.940 --> 04:36.540
430
+ vamos a colocar, por
431
+ supuesto,
432
+
433
+ 04:36.540 --> 04:37.740
434
+ nuestro
435
+ m茅todo.
436
+
437
+ 04:37.740 --> 04:40.340
438
+ Este m茅todo no funciona as铆
439
+ solito.
440
+
441
+ 04:40.340 --> 04:43.640
442
+ Nos toca agregarle ciertos
443
+ valores
444
+
445
+ 04:43.640 --> 04:45.740
446
+ a nuestras funciones que va por dentro,
447
+
448
+ 04:45.740 --> 04:47.640
449
+ para que precisamente
450
+ pueda
451
+
452
+ 04:47.640 --> 04:49.340
453
+ funcionar el valor de la
454
+ soma.
455
+
456
+ 04:49.340 --> 04:51.140
457
+ No va a funcionar as铆
458
+ solito.
459
+
460
+ 04:51.140 --> 04:52.640
461
+ 驴Qu茅 le vamos a
462
+ poner?
463
+
464
+ 04:52.640 --> 04:54.240
465
+ 脡l tiene
466
+ normalmente
467
+
468
+ 04:54.240 --> 04:56.440
469
+ una funci贸n que recibe dos par谩metros.
470
+
471
+ 04:56.440 --> 04:59.040
472
+ El primer par谩metro es un acumulador,
473
+
474
+ 04:59.040 --> 05:00.340
475
+ entonces voy a
476
+ colocar
477
+
478
+ 05:00.340 --> 05:03.040
479
+ accumulator,
480
+
481
+ 05:03.040 --> 05:04.140
482
+ y
483
+ seguido,
484
+
485
+ 05:04.140 --> 05:06.440
486
+ tenemos el
487
+ currentValue.
488
+
489
+ 05:06.440 --> 05:09.240
490
+ Entonces,
491
+ currentValue.
492
+
493
+ 05:09.240 --> 05:10.240
494
+ Entonces,
495
+ 茅l,
496
+
497
+ 05:10.240 --> 05:12.240
498
+ justamente como su nombre lo indica,
499
+
500
+ 05:12.240 --> 05:14.440
501
+ va a ser como si tuvi茅ramos una variable,
502
+
503
+ 05:14.440 --> 05:16.640
504
+ supongamos que tuvi茅ramos
505
+ led,
506
+
507
+ 05:16.640 --> 05:18.940
508
+ acumulador,
509
+
510
+ 05:18.940 --> 05:21.540
511
+ y este estuviera inicializado en
512
+ 0.
513
+
514
+ 05:21.540 --> 05:22.740
515
+ Entonces, es como si
516
+ tuvi茅ramos
517
+
518
+ 05:22.740 --> 05:25.040
519
+ una variable
520
+ externa,
521
+
522
+ 05:25.040 --> 05:26.540
523
+ en donde estamos
524
+ justamente
525
+
526
+ 05:26.540 --> 05:28.340
527
+ guardando o
528
+ almacenando
529
+
530
+ 05:28.340 --> 05:29.640
531
+ el valor de la
532
+ suma
533
+
534
+ 05:29.640 --> 05:31.940
535
+ de cada uno de los
536
+ datos.
537
+
538
+ 05:31.940 --> 05:33.640
539
+ Y el currentValue, por
540
+ supuesto,
541
+
542
+ 05:33.640 --> 05:36.240
543
+ ser铆a cada uno de los valores del array.
544
+
545
+ 05:36.240 --> 05:38.440
546
+ Entonces, as铆
547
+ funciona.
548
+
549
+ 05:38.440 --> 05:40.340
550
+ Y lo 煤nico que nos har铆a
551
+ falta
552
+
553
+ 05:40.340 --> 05:42.640
554
+ es retornar
555
+ justamente
556
+
557
+ 05:42.640 --> 05:45.540
558
+ el acumulador
559
+ m谩s
560
+
561
+ 05:45.540 --> 05:47.440
562
+ el
563
+ currentValue.
564
+
565
+ 05:47.440 --> 05:50.340
566
+ Y adicional, debemos colocarle otro valor,
567
+
568
+ 05:50.340 --> 05:52.840
569
+ que en este caso es el initialValue,
570
+
571
+ 05:52.840 --> 05:54.040
572
+ para nosotros va a ser
573
+ 0,
574
+
575
+ 05:54.040 --> 05:57.040
576
+ no necesitamos que empiece en otro tipo de
577
+ valor,
578
+
579
+ 05:57.040 --> 05:59.740
580
+ sino que le vamos a poner netamente 0.
581
+
582
+ 05:59.740 --> 06:01.040
583
+ Y ahora, lo que
584
+ hacemos
585
+
586
+ 06:01.040 --> 06:03.340
587
+ es colocar un
588
+ console.log,
589
+
590
+ 06:03.340 --> 06:05.340
591
+ tanto de
592
+ numbersReduce,
593
+
594
+ 06:05.340 --> 06:06.340
595
+ como de
596
+ qui茅n?
597
+
598
+ 06:06.340 --> 06:07.140
599
+ De la
600
+ suma.
601
+
602
+ 06:07.140 --> 06:08.440
603
+ Entonces,
604
+ console...
605
+
606
+ 06:08.440 --> 06:10.240
607
+ Ups, se fue otra
608
+ cosa.
609
+
610
+ 06:10.240 --> 06:12.340
611
+ Console.log
612
+
613
+ 06:12.340 --> 06:13.140
614
+ 驴de
615
+ qui茅n?
616
+
617
+ 06:13.140 --> 06:14.140
618
+ De
619
+ suma.
620
+
621
+ 06:14.140 --> 06:15.640
622
+ Entonces, vamos a
623
+ guardar,
624
+
625
+ 06:15.640 --> 06:18.340
626
+ corremos nuestro
627
+ c贸digo,
628
+
629
+ 06:18.340 --> 06:20.640
630
+ y aqu铆 ya revisamos que
631
+ tenemos
632
+
633
+ 06:20.640 --> 06:23.140
634
+ uno, nuestro
635
+ array,
636
+
637
+ 06:23.140 --> 06:24.640
638
+ que en este caso
639
+ ser铆a
640
+
641
+ 06:24.640 --> 06:27.240
642
+ 1, 2, 3, 4, 5, es este de
643
+ aqu铆,
644
+
645
+ 06:27.240 --> 06:29.340
646
+ y suma, que es
647
+ justamente
648
+
649
+ 06:29.340 --> 06:30.640
650
+ un solo
651
+ valor,
652
+
653
+ 06:30.640 --> 06:32.340
654
+ el valor
655
+ reducido,
656
+
657
+ 06:32.340 --> 06:35.640
658
+ que en este caso ser铆a
659
+ 15.
660
+
661
+ 06:35.640 --> 06:36.840
662
+ Por otro
663
+ lado,
664
+
665
+ 06:36.840 --> 06:38.540
666
+ listo, nos sirve
667
+ para
668
+
669
+ 06:38.540 --> 06:40.440
670
+ sumar elementos de un
671
+ array,
672
+
673
+ 06:40.440 --> 06:42.040
674
+ eso est谩 muy
675
+ bien,
676
+
677
+ 06:42.040 --> 06:45.140
678
+ pero tambi茅n nos sirve para otras cosas
679
+ reduce,
680
+
681
+ 06:45.140 --> 06:46.240
682
+ como por
683
+ ejemplo,
684
+
685
+ 06:46.240 --> 06:48.540
686
+ encontrar qu茅 tanto se
687
+ repite
688
+
689
+ 06:48.540 --> 06:50.440
690
+ una palabra en un
691
+ array.
692
+
693
+ 06:50.440 --> 06:52.440
694
+ Entonces, ac谩 por ejemplo, en reduce,
695
+
696
+ 06:52.440 --> 06:54.240
697
+ lo que voy a colocarle
698
+ es
699
+
700
+ 06:54.240 --> 06:56.840
701
+ caso, colocarlo en
702
+ min煤scula,
703
+
704
+ 06:56.840 --> 06:58.140
705
+ caso1,
706
+
707
+ 06:58.140 --> 07:00.340
708
+ y voy a crear por ac谩 otro que
709
+ diga
710
+
711
+ 07:00.340 --> 07:02.240
712
+ caso2.
713
+
714
+ 07:02.240 --> 07:04.340
715
+ Aqu铆 voy a hacer
716
+ scroll,
717
+
718
+ 07:04.340 --> 07:05.540
719
+ y lo que vamos a
720
+ hacer
721
+
722
+ 07:05.540 --> 07:06.840
723
+ es revisar lo
724
+ siguiente.
725
+
726
+ 07:06.840 --> 07:09.040
727
+ Vamos a crear ahora un
728
+ array,
729
+
730
+ 07:09.040 --> 07:10.740
731
+ pero este array ya no va a ser de n煤meros,
732
+
733
+ 07:10.740 --> 07:12.640
734
+ sino que va a ser de
735
+ palabras.
736
+
737
+ 07:12.640 --> 07:15.440
738
+ Entonces voy a colocarle
739
+ words,
740
+
741
+ 07:15.440 --> 07:17.140
742
+ y dentro de este
743
+ array,
744
+
745
+ 07:17.140 --> 07:18.640
746
+ lo que voy a hacer es
747
+ colocar
748
+
749
+ 07:18.640 --> 07:19.640
750
+ diferentes
751
+ palabras.
752
+
753
+ 07:19.640 --> 07:21.740
754
+ Entonces, por
755
+ ejemplo,
756
+
757
+ 07:21.740 --> 07:23.040
758
+ apple,
759
+
760
+ 07:23.040 --> 07:25.140
761
+ banana,
762
+
763
+ 07:25.140 --> 07:26.840
764
+ puede ser por
765
+ ejemplo,
766
+
767
+ 07:26.840 --> 07:28.440
768
+ hello,
769
+
770
+ 07:28.440 --> 07:30.340
771
+ u otra cosa puede
772
+ ser,
773
+
774
+ 07:30.340 --> 07:31.240
775
+ bye,
776
+
777
+ 07:31.240 --> 07:33.540
778
+ son palabras
779
+ aleatorias.
780
+
781
+ 07:33.540 --> 07:34.940
782
+ Despu茅s de
783
+ esto,
784
+
785
+ 07:34.940 --> 07:37.140
786
+ lo que tengo que garantizar en esta
787
+ creaci贸n
788
+
789
+ 07:37.140 --> 07:39.840
790
+ es que por supuesto no se repita alguna de
791
+ ellas.
792
+
793
+ 07:39.840 --> 07:41.940
794
+ Entonces, por ejemplo, voy a
795
+ decir
796
+
797
+ 07:41.940 --> 07:44.640
798
+ banana, la voy a
799
+ duplicar,
800
+
801
+ 07:44.640 --> 07:46.740
802
+ y voy a colocar bye
803
+ tambi茅n
804
+
805
+ 07:46.740 --> 07:49.540
806
+ otras dos veces, supongamos que est谩 as铆.
807
+
808
+ 07:49.540 --> 07:50.340
809
+ Listo.
810
+
811
+ 07:50.340 --> 07:51.940
812
+ 驴Qu茅 vamos a hacer
813
+ ahora?
814
+
815
+ 07:51.940 --> 07:54.240
816
+ Vamos a crear otra
817
+ variable
818
+
819
+ 07:54.240 --> 07:56.240
820
+ en donde precisamente vamos a
821
+ revisar
822
+
823
+ 07:56.240 --> 07:58.140
824
+ c贸mo funciona
825
+ reduce,
826
+
827
+ 07:58.140 --> 07:59.940
828
+ 驴para qu茅? Para que podamos
829
+ encontrar
830
+
831
+ 07:59.940 --> 08:02.840
832
+ cu谩ntas veces se
833
+ repite
834
+
835
+ 08:02.840 --> 08:04.440
836
+ alguna de estas
837
+ palabras.
838
+
839
+ 08:04.440 --> 08:05.440
840
+ 驴C贸mo lo
841
+ hacemos?
842
+
843
+ 08:05.440 --> 08:07.540
844
+ Vamos a crear una variable por
845
+ ac谩
846
+
847
+ 08:07.540 --> 08:10.140
848
+ que se llame, voy a crear un espacio,
849
+
850
+ 08:10.140 --> 08:13.640
851
+ const word
852
+ frequency.
853
+
854
+ 08:13.640 --> 08:15.040
855
+ Frequency.
856
+
857
+ 08:15.040 --> 08:16.540
858
+ Vamos a hacer un
859
+ igual,
860
+
861
+ 08:16.540 --> 08:19.140
862
+ y lo que hacemos es tomar nuestro array,
863
+
864
+ 08:19.140 --> 08:20.840
865
+ decirle
866
+ reduce,
867
+
868
+ 08:20.840 --> 08:22.840
869
+ y aqu铆 es donde
870
+ empieza
871
+
872
+ 08:22.840 --> 08:25.240
873
+ todo el tema de la funci贸n que va por dentro.
874
+
875
+ 08:25.240 --> 08:26.340
876
+ 驴C贸mo lo vamos a
877
+ escribir?
878
+
879
+ 08:26.340 --> 08:28.240
880
+ Entonces colocamos
881
+ nuevamente
882
+
883
+ 08:28.240 --> 08:31.240
884
+ estos dos par谩metros, que es tanto el
885
+ acumulador
886
+
887
+ 08:31.240 --> 08:33.740
888
+ como el valor
889
+ actual,
890
+
891
+ 08:33.740 --> 08:36.840
892
+ y seguido de esto vamos a colocar un arrow
893
+ function
894
+
895
+ 08:36.840 --> 08:38.840
896
+ y unas llaves para empezar a
897
+ escribir
898
+
899
+ 08:38.840 --> 08:42.040
900
+ el cuerpo de esta funci贸n
901
+ aqu铆.
902
+
903
+ 08:42.040 --> 08:44.040
904
+ Ahora lo que hacemos es
905
+ decir,
906
+
907
+ 08:44.040 --> 08:47.140
908
+ ok, si el current
909
+ value,
910
+
911
+ 08:47.140 --> 08:50.140
912
+ en este caso, si el current
913
+ value
914
+
915
+ 08:50.140 --> 08:51.740
916
+ se
917
+ repite,
918
+
919
+ 08:51.740 --> 08:54.140
920
+ lo que vamos a hacer es
921
+ acumularlo
922
+
923
+ 08:54.140 --> 08:55.140
924
+ o
925
+ guardarlo.
926
+
927
+ 08:55.140 --> 08:56.940
928
+ Entonces eso es lo que vamos a hacer.
929
+
930
+ 08:56.940 --> 08:59.040
931
+ Mira que la primera
932
+ palabra
933
+
934
+ 08:59.040 --> 09:01.440
935
+ o lo que empezamos a hacer fue
936
+ cuestionarnos
937
+
938
+ 09:01.440 --> 09:03.740
939
+ si esta palabra
940
+ existe.
941
+
942
+ 09:03.740 --> 09:05.740
943
+ Y ah铆 es donde llega la
944
+ magia,
945
+
946
+ 09:05.740 --> 09:07.940
947
+ por supuesto, de los
948
+ condicionales.
949
+
950
+ 09:07.940 --> 09:09.940
951
+ Entonces, 驴qu茅 vamos a hacer
952
+ ac谩?
953
+
954
+ 09:09.940 --> 09:13.440
955
+ S铆, vamos a colocar
956
+ accumulator.
957
+
958
+ 09:13.440 --> 09:15.040
959
+ 驴En qu茅
960
+ posici贸n?
961
+
962
+ 09:15.040 --> 09:17.540
963
+ En la posici贸n del current
964
+ value.
965
+
966
+ 09:17.540 --> 09:19.740
967
+ En este caso,
968
+ 驴existe?
969
+
970
+ 09:19.740 --> 09:21.340
971
+ Que es como que, ah,
972
+ bueno,
973
+
974
+ 09:21.340 --> 09:23.340
975
+ si viene por ac谩 Apple, 驴ya
976
+ existe?
977
+
978
+ 09:23.340 --> 09:25.740
979
+ En este caso no, ser铆a como la primera
980
+ vez
981
+
982
+ 09:25.740 --> 09:26.740
983
+ que llega
984
+ 茅l,
985
+
986
+ 09:26.740 --> 09:30.240
987
+ entonces entrar铆a a la otra parte del
988
+ condicional.
989
+
990
+ 09:30.240 --> 09:32.240
991
+ Si no existe, que es
992
+ justamente
993
+
994
+ 09:32.240 --> 09:34.240
995
+ cuando llegamos, por ejemplo, a Apple,
996
+
997
+ 09:34.240 --> 09:35.940
998
+ lo que hacemos es
999
+ decirle
1000
+
1001
+ 09:35.940 --> 09:37.740
1002
+ que este
1003
+ acumulador
1004
+
1005
+ 09:37.740 --> 09:39.740
1006
+ en esta
1007
+ posici贸n
1008
+
1009
+ 09:39.740 --> 09:41.740
1010
+ va a ser igual a qui茅n? A
1011
+ 1.
1012
+
1013
+ 09:41.740 --> 09:44.740
1014
+ Es decir que inmediatamente empecemos
1015
+ a
1016
+
1017
+ 09:44.740 --> 09:47.240
1018
+ leer las palabras del
1019
+ array,
1020
+
1021
+ 09:47.240 --> 09:50.540
1022
+ 茅l va a empezar a decir si existe o no existe,
1023
+
1024
+ 09:50.540 --> 09:53.540
1025
+ y si existe, va a ser algo, ya vamos a ver
1026
+ qu茅,
1027
+
1028
+ 09:53.540 --> 09:57.040
1029
+ y si no, va a empezar a guardar un valor
1030
+ inicial,
1031
+
1032
+ 09:57.040 --> 09:59.740
1033
+ que en este caso el valor inicial ser铆a 1.
1034
+
1035
+ 09:59.740 --> 10:02.740
1036
+ Entonces, 驴Apple existe?
1037
+ No.
1038
+
1039
+ 10:02.740 --> 10:05.240
1040
+ Como no existe, entonces vamos a
1041
+ guardar
1042
+
1043
+ 10:05.240 --> 10:07.740
1044
+ su valor inicial, que ser铆a
1045
+ 1.
1046
+
1047
+ 10:07.740 --> 10:09.740
1048
+ En caso de que s铆
1049
+ exista,
1050
+
1051
+ 10:09.740 --> 10:11.740
1052
+ ejemplo, vamos a
1053
+ banana,
1054
+
1055
+ 10:11.740 --> 10:13.740
1056
+ banana entrar铆a primero de que no existe,
1057
+
1058
+ 10:13.740 --> 10:16.240
1059
+ entonces le guardamos un valor
1060
+ 1,
1061
+
1062
+ 10:16.240 --> 10:18.240
1063
+ pero despu茅s vamos
1064
+ iterando,
1065
+
1066
+ 10:18.240 --> 10:20.240
1067
+ y despu茅s con el tiempo nos
1068
+ encontramos
1069
+
1070
+ 10:20.240 --> 10:21.740
1071
+ otra vez con
1072
+ banana,
1073
+
1074
+ 10:21.740 --> 10:23.740
1075
+ y preguntamos,
1076
+ 驴existe?
1077
+
1078
+ 10:23.740 --> 10:25.740
1079
+ Y aqu铆 茅l va a decir, ah, s铆, que 茅l ya
1080
+ existe
1081
+
1082
+ 10:25.740 --> 10:27.740
1083
+ porque ya me guardaron un valor por all谩,
1084
+
1085
+ 10:27.740 --> 10:28.740
1086
+ que es
1087
+ 1.
1088
+
1089
+ 10:28.740 --> 10:30.740
1090
+ Si existe, en este
1091
+ caso,
1092
+
1093
+ 10:30.740 --> 10:33.240
1094
+ lo que vamos a hacer es sumarle un 1,
1095
+
1096
+ 10:33.240 --> 10:35.740
1097
+ o un valor, entonces en este caso
1098
+ ser铆a
1099
+
1100
+ 10:35.740 --> 10:38.740
1101
+ volver a tomar el valor que ya tenemos,
1102
+
1103
+ 10:38.740 --> 10:41.240
1104
+ y creo que se me fueron
1105
+ m谩s,
1106
+
1107
+ 10:41.240 --> 10:43.240
1108
+ m谩s cositas ah铆,
1109
+ ser铆a,
1110
+
1111
+ 10:43.240 --> 10:45.240
1112
+ si ya existe, 驴qu茅 vamos a
1113
+ hacer?
1114
+
1115
+ 10:45.240 --> 10:48.240
1116
+ Vamos a sumarle un valor
1117
+ m谩s.
1118
+
1119
+ 10:48.240 --> 10:50.740
1120
+ Entonces aqu铆 le estamos diciendo, ah,
1121
+
1122
+ 10:50.740 --> 10:53.740
1123
+ est谩 el valor, agr茅gale otro valor, y fin.
1124
+
1125
+ 10:53.740 --> 10:57.240
1126
+ Entonces aqu铆 se va a empezar a acumular
1127
+ precisamente.
1128
+
1129
+ 10:57.240 --> 10:59.240
1130
+ Seguido de esto, lo que vamos a
1131
+ hacer
1132
+
1133
+ 10:59.240 --> 11:01.240
1134
+ es retornar,
1135
+ 驴qui茅n?
1136
+
1137
+ 11:01.240 --> 11:02.740
1138
+ El
1139
+ acumulador.
1140
+
1141
+ 11:02.740 --> 11:05.240
1142
+ Entonces voy a subir esto un poquito,
1143
+
1144
+ 11:05.240 --> 11:07.740
1145
+ y lo que vamos a hacer ac谩 es
1146
+ decirle
1147
+
1148
+ 11:07.740 --> 11:09.740
1149
+ que el valor inicial va a
1150
+ ser
1151
+
1152
+ 11:09.740 --> 11:11.740
1153
+ un objeto vac铆o en este
1154
+ caso.
1155
+
1156
+ 11:11.740 --> 11:13.740
1157
+ Y ahora lo que hacemos es
1158
+ colocar
1159
+
1160
+ 11:13.740 --> 11:15.740
1161
+ un console.log, 驴de
1162
+ qui茅n?
1163
+
1164
+ 11:15.740 --> 11:17.740
1165
+ De la frecuencia de la
1166
+ palabra.
1167
+
1168
+ 11:17.740 --> 11:20.740
1169
+ Vamos a guardar, corremos nuestro c贸digo,
1170
+
1171
+ 11:20.740 --> 11:22.740
1172
+ y aqu铆 ya vemos que
1173
+ tenemos
1174
+
1175
+ 11:22.740 --> 11:24.740
1176
+ apple siendo
1177
+ 1,
1178
+
1179
+ 11:24.740 --> 11:26.740
1180
+ banana siendo
1181
+ 2,
1182
+
1183
+ 11:26.740 --> 11:28.740
1184
+ hello, 1, y bye,
1185
+ 3.
1186
+
1187
+ 11:28.740 --> 11:30.740
1188
+ Entonces 茅l ya nos hizo el
1189
+ conteo
1190
+
1191
+ 11:30.740 --> 11:32.740
1192
+ para saber cu谩l es la
1193
+ frecuencia
1194
+
1195
+ 11:32.740 --> 11:58.740
1196
+ de cada una de estas
1197
+ palabras.
1198
+
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/05-clase-filter-reduce_e813ab75-e07c-4b5d-aad3-8bfc93813d7a.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Methods that iterate over an array.
2
+ // Methods that DO NOT modify the original array (Immutability).
3
+
4
+ // filter()
5
+
6
+ const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
7
+ const evenNumbers = numbers.filter(number => number % 2 === 0)
8
+
9
+ console.log(numbers)
10
+ console.log(evenNumbers)
11
+
12
+ // reduce() 路 case 1
13
+
14
+ const numbersReduce = [1, 2, 3, 4, 5]
15
+ const sum = numbersReduce.reduce((accumulator, currentValue) => accumulator + currentValue, 0)
16
+
17
+ console.log(numbersReduce)
18
+ console.log(sum)
19
+
20
+ // reduce() 路 case 2
21
+
22
+ const words = ['apple', 'banana', 'hello', 'bye', 'banana', 'bye', 'bye']
23
+
24
+ const wordFrecuency = words.reduce((accumulator, currentValue) => {
25
+ if (accumulator[currentValue]) {
26
+ accumulator[currentValue]++
27
+ } else {
28
+ accumulator[currentValue] = 1
29
+ }
30
+ return accumulator
31
+ }, {})
32
+
33
+ console.log(wordFrecuency)
34
+
35
+ // Exercise: Passing Grade Average
36
+
37
+ const grades = [85, 92, 60, 78, 95, 66, 88, 50, 94]
38
+
39
+ const passingGrades = grades.filter(grade => grade >= 70)
40
+
41
+ const averagePassingGrade = passingGrades.reduce((sum, grade) => sum + grade, 0) / passingGrades.length
42
+
43
+ console.log('Original Grades: ', grades)
44
+ console.log('Passing Grades: ', passingGrades)
45
+ console.log('Average Passing Grade: ', averagePassingGrade)
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-M茅todos find y findIndex en JavaScript Uso y ejemplos pr谩cticos.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2940840265012b55a25215a3f6cb63e52f76e7d08608bfe87c3080024e2b5049
3
+ size 19643282
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-M茅todos find y findIndex en JavaScript Uso y ejemplos pr谩cticos.vtt ADDED
@@ -0,0 +1,311 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:03.400
4
+ En esta clase vamos a estar hablando de
5
+ dos m茅todos
6
+
7
+ 00:03.400 --> 00:05.300
8
+ que no modifican nuestro
9
+ array,
10
+
11
+ 00:05.300 --> 00:07.400
12
+ pero nos ayuda a encontrar
13
+ elementos
14
+
15
+ 00:07.400 --> 00:09.400
16
+ y tambi茅n 铆ndices en un
17
+ array.
18
+
19
+ 00:09.400 --> 00:12.200
20
+ Ellos son find y
21
+ findIndex.
22
+
23
+ 00:12.200 --> 00:15.100
24
+ El primero de ellos justamente es
25
+ find
26
+
27
+ 00:15.100 --> 00:17.800
28
+ y nos devuelve el primer
29
+ elemento
30
+
31
+ 00:17.800 --> 00:19.900
32
+ que cumpla con una
33
+ condici贸n
34
+
35
+ 00:19.900 --> 00:22.400
36
+ que le mandemos justamente en una funci贸n.
37
+
38
+ 00:22.400 --> 00:23.900
39
+ Entonces, en este
40
+ caso,
41
+
42
+ 00:23.900 --> 00:27.000
43
+ si tenemos un array que dice 5, 10, 15 y 20,
44
+
45
+ 00:27.000 --> 00:30.000
46
+ y queremos el primer elemento que sea
47
+ mayor a 10,
48
+
49
+ 00:30.000 --> 00:32.300
50
+ por ejemplo, nos va a devolver
51
+ 15.
52
+
53
+ 00:32.300 --> 00:35.500
54
+ Vamos a revisar c贸mo ser铆a esto en el c贸digo.
55
+
56
+ 00:35.500 --> 00:37.500
57
+ En este caso, ser铆a lo
58
+ siguiente.
59
+
60
+ 00:37.500 --> 00:39.500
61
+ Vamos a colocar que vamos a
62
+ encontrar
63
+
64
+ 00:39.500 --> 00:44.500
65
+ el primer, first, number,
66
+ number,
67
+
68
+ 00:44.500 --> 00:46.000
69
+ que sea mayor a
70
+ 10.
71
+
72
+ 00:46.000 --> 00:50.500
73
+ Entonces, greater than
74
+ 10.
75
+
76
+ 00:50.500 --> 00:54.000
77
+ Y este valor necesita, por supuesto,
78
+
79
+ 00:54.000 --> 00:56.500
80
+ un array que vamos a crear por
81
+ ac谩.
82
+
83
+ 00:56.500 --> 01:00.000
84
+ Y este array va a llamarse los m煤ltiplos,
85
+
86
+ 01:00.000 --> 01:04.000
87
+ m煤ltiples of
88
+ 5.
89
+
90
+ 01:04.000 --> 01:06.000
91
+ M煤ltiplos de
92
+ 5.
93
+
94
+ 01:06.000 --> 01:11.000
95
+ Y ac谩 vamos a colocar 5, 10, 15 y 20.
96
+
97
+ 01:11.000 --> 01:13.000
98
+ En este caso,
99
+ ac谩,
100
+
101
+ 01:13.000 --> 01:16.500
102
+ para encontrar el primer valor que sea
103
+ mayor a 10,
104
+
105
+ 01:16.500 --> 01:18.500
106
+ vamos a tomar nuestro
107
+ array,
108
+
109
+ 01:18.500 --> 01:20.500
110
+ le vamos a decir
111
+ find,
112
+
113
+ 01:20.500 --> 01:24.000
114
+ y dentro de find ir铆a la funci贸n con la
115
+ condici贸n.
116
+
117
+ 01:24.000 --> 01:26.000
118
+ En este caso, 驴qu茅
119
+ necesitamos?
120
+
121
+ 01:26.000 --> 01:30.000
122
+ Que este n煤mero, number, sea
123
+ qu茅?
124
+
125
+ 01:30.000 --> 01:32.500
126
+ Sea mayor a
127
+ 10.
128
+
129
+ 01:32.500 --> 01:35.000
130
+ Entonces, vamos a colocar por ac谩 esto,
131
+
132
+ 01:35.000 --> 01:37.500
133
+ y escribimos un
134
+ console.log,
135
+
136
+ 01:37.500 --> 01:41.000
137
+ tanto de esta variable de
138
+ ac谩,
139
+
140
+ 01:41.000 --> 01:43.000
141
+ vamos a copiarla, la
142
+ pegamos,
143
+
144
+ 01:43.000 --> 01:46.000
145
+ y tambi茅n tomo esta variable y la pego.
146
+
147
+ 01:46.000 --> 01:48.500
148
+ Voy a correr nuestro
149
+ programa,
150
+
151
+ 01:48.500 --> 01:51.000
152
+ voy a colocar
153
+ node,
154
+
155
+ 01:51.000 --> 01:53.500
156
+ luego colocamos
157
+ clase,
158
+
159
+ 01:53.500 --> 01:56.500
160
+ find,
161
+ findIndex,
162
+
163
+ 01:56.500 --> 01:58.000
164
+ y aqu铆 nos
165
+ sale.
166
+
167
+ 01:58.000 --> 01:59.500
168
+ Primero, nuestro
169
+ array,
170
+
171
+ 01:59.500 --> 02:02.500
172
+ es decir, que no ha sido mutado, no ha
173
+ sido modificado,
174
+
175
+ 02:02.500 --> 02:04.500
176
+ y segundo, tenemos, por
177
+ supuesto,
178
+
179
+ 02:04.500 --> 02:07.000
180
+ el resultado de nuestro
181
+ find.
182
+
183
+ 02:07.000 --> 02:11.500
184
+ Seguido, vamos a ver nuestro otro m茅todo,
185
+
186
+ 02:11.500 --> 02:13.500
187
+ que en este caso ser铆a
188
+ findIndex.
189
+
190
+ 02:13.500 --> 02:15.500
191
+ 驴Qu茅 va a hacer
192
+ findIndex?
193
+
194
+ 02:15.500 --> 02:17.500
195
+ Va a tomar justamente el
196
+ array
197
+
198
+ 02:17.500 --> 02:22.000
199
+ y nos va a devolver el 铆ndice del primer
200
+ elemento del array,
201
+
202
+ 02:22.000 --> 02:24.500
203
+ que tambi茅n satisfaga esa condici贸n.
204
+
205
+ 02:24.500 --> 02:27.500
206
+ Entonces, vamos a hacer eso aqu铆 en
207
+ nuestro c贸digo.
208
+
209
+ 02:27.500 --> 02:30.000
210
+ Entonces, vamos a colocar findIndex,
211
+
212
+ 02:30.000 --> 02:32.500
213
+ y vamos a crear otro
214
+ array.
215
+
216
+ 02:32.500 --> 02:34.500
217
+ En este caso es
218
+ const,
219
+
220
+ 02:34.500 --> 02:39.500
221
+ random, voy a colocar un array de n煤meros
222
+ aleatorios,
223
+
224
+ 02:39.500 --> 02:42.000
225
+ entonces,
226
+ randomNumbers,
227
+
228
+ 02:42.000 --> 02:44.000
229
+ y aqu铆 voy a crear mi
230
+ array,
231
+
232
+ 02:44.000 --> 02:46.000
233
+ que en este caso ser铆a, por ejemplo,
234
+
235
+ 02:46.000 --> 02:52.000
236
+ 6, 14, 27, 56 y
237
+ 40,
238
+
239
+ 02:52.000 --> 02:54.500
240
+ que es lo mismo que tenemos aqu铆 en
241
+ nuestro slide.
242
+
243
+ 02:54.500 --> 02:57.500
244
+ Y ahora, lo que hacemos es colocar const,
245
+
246
+ 02:57.500 --> 03:00.000
247
+ el 铆ndex, 驴de
248
+ qui茅n?
249
+
250
+ 03:00.000 --> 03:02.500
251
+ De ese n煤mero que
252
+ queremos,
253
+
254
+ 03:02.500 --> 03:05.500
255
+ y number, esto va a ser igual a
256
+ qui茅n?
257
+
258
+ 03:05.500 --> 03:08.500
259
+ A randomNumber,
260
+ punto,
261
+
262
+ 03:08.500 --> 03:12.000
263
+ findIndex,
264
+ findIndex.
265
+
266
+ 03:12.000 --> 03:14.500
267
+ 驴De qui茅n? De alg煤n
268
+ n煤mero.
269
+
270
+ 03:14.500 --> 03:18.000
271
+ Vamos a colocar, por ejemplo, number,
272
+ que sea mayor,
273
+
274
+ 03:18.000 --> 03:23.000
275
+ en este caso, number mayor a 50, por ejemplo.
276
+
277
+ 03:23.000 --> 03:27.000
278
+ Entonces, vamos a colocar de nuevo los dos
279
+ console.log,
280
+
281
+ 03:27.000 --> 03:29.500
282
+ voy a copiarme esos que tenemos por ac谩,
283
+
284
+ 03:29.500 --> 03:33.500
285
+ randomNumber y el
286
+ indexNumber.
287
+
288
+ 03:33.500 --> 03:36.500
289
+ Vamos a correr de nuevo nuestro programa,
290
+
291
+ 03:36.500 --> 03:39.500
292
+ y aqu铆 tenemos nuestro array original,
293
+
294
+ 03:39.500 --> 03:42.500
295
+ y adicional, tenemos el 铆ndex del primer
296
+ elemento
297
+
298
+ 03:42.500 --> 03:44.500
299
+ que cumple con esta
300
+ condici贸n,
301
+
302
+ 03:44.500 --> 03:46.500
303
+ el primer elemento que es, por supuesto,
304
+
305
+ 03:46.500 --> 03:48.500
306
+ mayor a 50 de
307
+ 56,
308
+
309
+ 03:48.500 --> 04:12.500
310
+ y vemos que su 铆ndex es 0, 1, 2 y 3.
311
+
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/06-clase-find-findindex_ec26c6f8-de53-4d67-8a48-801ff513a78b.js ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Methods that iterate over an array.
2
+ // Methods that DO NOT modify the original array (Immutability).
3
+
4
+ // find()
5
+
6
+ const multipleOf5 = [5, 10, 15, 20]
7
+ const firstNumberGreaterThan10 = multipleOf5.find(number => number > 10)
8
+
9
+ console.log(multipleOf5)
10
+ console.log(firstNumberGreaterThan10)
11
+
12
+ // findIndex()
13
+
14
+ const randomNumber = [6, 14, 27, 56, 40]
15
+ const indexNumber = randomNumber.findIndex(number => number > 50)
16
+
17
+ console.log(randomNumber)
18
+ console.log(indexNumber)
19
+
20
+ // Exercise: Raffle Winner Verification Program
21
+
22
+ const winningParticipants = [
23
+ { id: 1, name: 'Jennifer', ticketNumber: 001 },
24
+ { id: 8, name: 'Michael', ticketNumber: 008 },
25
+ { id: 15, name: 'Emily', ticketNumber: 015 },
26
+ { id: 47, name: 'Charlie', ticketNumber: 047 }
27
+ ]
28
+
29
+ function findWinnerByName (name) {
30
+ const winner = winningParticipants.find(participants => participants.name === name)
31
+ return winner || 'No winner found with that name.'
32
+ }
33
+
34
+ function findIndexWinnerByTicket (ticketNumber) {
35
+ const index = winningParticipants.findIndex(participants => participants.ticketNumber === ticketNumber)
36
+ return index !== -1 ? index : 'No winner found with that ticket number.'
37
+ }
38
+
39
+ function displayWinnerInformation (winner) {
40
+ if (winner !== undefined && winner != null && winner !== 'No winner found with that name.') {
41
+ console.log('Winner information: ', winner)
42
+ } else {
43
+ console.log('No winner found.')
44
+ }
45
+ }
46
+
47
+ const winnerByName = findWinnerByName('Emily')
48
+ const indexWinnerByTicket = findIndexWinnerByTicket(008)
49
+
50
+ displayWinnerInformation(winnerByName)
51
+ console.log('Index of Winner by Ticket Number: ', indexWinnerByTicket)
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Uso del m茅todo slice para extraer porciones de un array en JavaScript.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d886bbe5c404351984dbb168c48f0bf0b800a84dcbf87b8a8b415edf292cb12e
3
+ size 29554197
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-Uso del m茅todo slice para extraer porciones de un array en JavaScript.vtt ADDED
@@ -0,0 +1,362 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:04.280
4
+ 驴Qu茅 pasar铆a si nosotros quisi茅ramos tomar
5
+ solo la porci贸n
6
+
7
+ 00:04.280 --> 00:07.040
8
+ o una peque帽a parte de un
9
+ array?
10
+
11
+ 00:07.040 --> 00:10.800
12
+ Pues bien, para ello podemos utilizar el
13
+ m茅todo slice,
14
+
15
+ 00:10.800 --> 00:13.920
16
+ que nos va a permitir justamente tomar una
17
+ porci贸n,
18
+
19
+ 00:13.920 --> 00:17.360
20
+ as铆 como estamos viendo en este ejemplo de
21
+ ac谩, de un array.
22
+
23
+ 00:17.360 --> 00:19.920
24
+ Entonces tenemos un array que en este
25
+ caso
26
+
27
+ 00:19.920 --> 00:22.080
28
+ tiene como diferentes tipos de juegos,
29
+
30
+ 00:22.080 --> 00:25.440
31
+ y si nosotros solamente quisi茅ramos,
32
+ por ejemplo,
33
+
34
+ 00:25.440 --> 00:28.360
35
+ desde ac谩 hasta
36
+ ac谩,
37
+
38
+ 00:28.360 --> 00:31.800
39
+ pues lo podemos hacer justamente con slice.
40
+
41
+ 00:31.800 --> 00:34.360
42
+ 驴C贸mo lo vamos a utilizar en el
43
+ c贸digo?
44
+
45
+ 00:34.360 --> 00:37.040
46
+ Vamos a colocar, por ejemplo, slice,
47
+
48
+ 00:37.040 --> 00:39.880
49
+ y seguido lo que vamos a colocar es un array,
50
+
51
+ 00:39.880 --> 00:43.080
52
+ vamos a colocar un array, por ejemplo,
53
+ de animales,
54
+
55
+ 00:43.080 --> 00:45.440
56
+ y este va a contener, por
57
+ ejemplo,
58
+
59
+ 00:45.440 --> 00:49.960
60
+ vamos a colocar hormiga, vamos a colocar
61
+ pison,
62
+
63
+ 00:49.960 --> 00:53.840
64
+ vamos a colocar diferentes tipos de animales,
65
+ camel,
66
+
67
+ 00:53.840 --> 01:00.080
68
+ vamos a colocar un pato y coloquemos un
69
+ elefante.
70
+
71
+ 01:00.080 --> 01:01.360
72
+ Elefante.
73
+
74
+ 01:01.360 --> 01:02.400
75
+ Listo.
76
+
77
+ 01:02.400 --> 01:05.920
78
+ Teniendo esos animales, 驴qu茅 pasar铆a si
79
+ empezamos nosotros
80
+
81
+ 01:05.920 --> 01:09.880
82
+ a querer solamente fracciones de esos
83
+ animales, no todos?
84
+
85
+ 01:09.880 --> 01:13.600
86
+ Para ello, entonces, utilizamos nuestro
87
+ console.log,
88
+
89
+ 01:13.600 --> 01:18.160
90
+ vamos a empezar a revisar c贸mo funciona
91
+ este m茅todo de slice.
92
+
93
+ 01:18.160 --> 01:23.360
94
+ Entonces colocamos.slice y debemos pasarle 1,
95
+
96
+ 01:23.360 --> 01:25.720
97
+ 0, 1 o 2
98
+ par谩metros.
99
+
100
+ 01:25.720 --> 01:28.760
101
+ Revisemos c贸mo ser铆a con un solo par谩metro.
102
+
103
+ 01:28.760 --> 01:32.600
104
+ En este caso, si le pasamos el n煤mero 2,
105
+
106
+ 01:32.600 --> 01:36.880
107
+ 茅l va a tomarlo como si fuera el 铆ndice de
108
+ el array
109
+
110
+ 01:36.880 --> 01:40.360
111
+ desde el valor que nosotros queremos tomar.
112
+
113
+ 01:40.360 --> 01:43.600
114
+ Por ejemplo, si decimos 2, en este caso lo
115
+ que estamos
116
+
117
+ 01:43.600 --> 01:48.000
118
+ diciendo es que queremos solamente desde
119
+ la posici贸n 2,
120
+
121
+ 01:48.000 --> 01:51.280
122
+ es decir, desde el camello hasta el elefante.
123
+
124
+ 01:51.280 --> 01:52.200
125
+ Vamos a
126
+ revisarlo.
127
+
128
+ 01:52.200 --> 01:54.480
129
+ Corramos nuestro c贸digo,
130
+ note.
131
+
132
+ 01:57.920 --> 02:02.040
133
+ Y aqu铆 vemos justamente esa porci贸n o ese
134
+ fragmento del
135
+
136
+ 02:02.040 --> 02:05.840
137
+ array desde la posici贸n n煤mero
138
+ 2.
139
+
140
+ 02:05.840 --> 02:09.640
141
+ Ahora, 驴qu茅 pasar铆a si quisi茅ramos decirle
142
+ que desde
143
+
144
+ 02:09.640 --> 02:14.560
145
+ la posici贸n 2 hasta el pato que tenemos
146
+ ac谩?
147
+
148
+ 02:14.560 --> 02:19.720
149
+ Le decimos 0, 1, 2, 3, pero en este caso
150
+ debemos agregarle una
151
+
152
+ 02:19.720 --> 02:23.200
153
+ posici贸n m谩s, es decir, la posici贸n n煤mero 4.
154
+
155
+ 02:23.200 --> 02:24.120
156
+ 驴Por
157
+ qu茅?
158
+
159
+ 02:24.120 --> 02:28.720
160
+ Porque 茅l no tiene el valor final incluido.
161
+
162
+ 02:28.720 --> 02:31.440
163
+ Entonces, 茅l lo que hace es decir, ah, mira,
164
+
165
+ 02:31.440 --> 02:34.520
166
+ 驴quieres una porci贸n desde la 2 hasta la
167
+ 4?
168
+
169
+ 02:34.520 --> 02:39.120
170
+ Bueno, yo te la voy a dar, pero en mi caso
171
+ va a ser 0, 1,
172
+
173
+ 02:39.120 --> 02:45.080
174
+ 2 desde camello hasta el 3, es decir,
175
+ hasta 4 menos 1.
176
+
177
+ 02:45.080 --> 02:48.480
178
+ Vamos a correr nuestro c贸digo para revisarlo.
179
+
180
+ 02:48.480 --> 02:51.360
181
+ Ac谩 tenemos, en efecto, nuestra porci贸n,
182
+
183
+ 02:51.360 --> 02:55.040
184
+ pero esa porci贸n solamente es de la
185
+ posici贸n 2 y de la posici贸n
186
+
187
+ 02:55.040 --> 02:56.360
188
+ n煤mero
189
+ 3.
190
+
191
+ 02:56.360 --> 02:59.640
192
+ Revis茅moslo con otro valor que tengamos.
193
+
194
+ 02:59.640 --> 03:02.680
195
+ Supongamos que ahora s铆 queremos incluir
196
+ el elefante.
197
+
198
+ 03:02.680 --> 03:06.240
199
+ Entonces, en este caso, lo que hacemos es
200
+ decir, por ejemplo,
201
+
202
+ 03:06.240 --> 03:10.240
203
+ cambiamos este 铆ndice por el 1, que
204
+ empieza desde Bison.
205
+
206
+ 03:10.240 --> 03:13.000
207
+ Y aqu铆 le colocamos la posici贸n n煤mero 5,
208
+
209
+ 03:13.000 --> 03:17.080
210
+ que en este caso ser铆a 1, 2, 3, 4, 5.
211
+
212
+ 03:17.080 --> 03:19.800
213
+ Y hoy podemos poner, por ejemplo, 6.
214
+
215
+ 03:19.800 --> 03:21.160
216
+ Vamos a
217
+ guardar.
218
+
219
+ 03:21.160 --> 03:22.720
220
+ Corremos nuestro
221
+ c贸digo.
222
+
223
+ 03:22.720 --> 03:26.360
224
+ Y en este caso nos sale Bison, Camel,
225
+ Duck y Elefante.
226
+
227
+ 03:26.360 --> 03:30.960
228
+ Entonces, ah铆 s铆 ya nos incluye justamente
229
+ este elefante.
230
+
231
+ 03:30.960 --> 03:34.240
232
+ 驴Qu茅 pasa si nosotros quisi茅ramos ahora,
233
+
234
+ 03:34.240 --> 03:36.520
235
+ como empezar a contar de atr谩s para
236
+ adelante?
237
+
238
+ 03:36.520 --> 03:39.800
239
+ Supongamos que tenemos un mont贸n de
240
+ valores y solamente
241
+
242
+ 03:39.800 --> 03:41.400
243
+ queremos los dos
244
+ 煤ltimos.
245
+
246
+ 03:41.400 --> 03:44.400
247
+ 驴C贸mo nos vamos a poner a contar un mont贸n
248
+ de posiciones?
249
+
250
+ 03:44.400 --> 03:49.240
251
+ Bueno, para ese caso, lo que hace Slice es
252
+ permitirnos tambi茅n
253
+
254
+ 03:49.240 --> 03:51.280
255
+ utilizar los n煤meros
256
+ negativos.
257
+
258
+ 03:51.280 --> 03:54.840
259
+ Entonces, podemos utilizar, por ejemplo,
260
+ el menos 2.
261
+
262
+ 03:54.840 --> 03:58.640
263
+ Y 茅l lo que hace es contar Elefante como
264
+ si fuera menos 1.
265
+
266
+ 03:58.640 --> 04:01.080
267
+ Es decir, se est谩 empezando a devolver.
268
+
269
+ 04:01.080 --> 04:05.440
270
+ Y toma el Pato como si fuera la posici贸n
271
+ n煤mero menos 2.
272
+
273
+ 04:05.440 --> 04:10.400
274
+ Y nos da esta 煤ltima fracci贸n de este array.
275
+
276
+ 04:10.400 --> 04:12.560
277
+ Si nosotros quisi茅ramos, por ejemplo,
278
+
279
+ 04:12.560 --> 04:17.000
280
+ empezar por un valor y terminar por alg煤n
281
+ n煤mero del final,
282
+
283
+ 04:17.000 --> 04:18.200
284
+ tambi茅n se
285
+ puede.
286
+
287
+ 04:18.200 --> 04:21.840
288
+ Es decir, podemos decirle que empiece desde 0,
289
+ 1, 2,
290
+
291
+ 04:21.840 --> 04:24.240
292
+ pero que termine en la posici贸n menos 1.
293
+
294
+ 04:24.240 --> 04:28.040
295
+ Entonces, 茅l tambi茅n nos hace caso en este
296
+ sentido y nos da
297
+
298
+ 04:28.040 --> 04:32.600
299
+ este fragmento del array que es Camel y es
300
+ Duck, que es este.
301
+
302
+ 04:32.600 --> 04:36.080
303
+ Y este recordemos que el final no lo cuenta.
304
+
305
+ 04:36.080 --> 04:42.120
306
+ Y ya por 煤ltimo, tambi茅n podemos colocar
307
+ un console.log de
308
+
309
+ 04:42.120 --> 04:44.600
310
+ lo que har铆a Slice
311
+ solito.
312
+
313
+ 04:44.600 --> 04:48.080
314
+ Es decir, sin ning煤n tipo de par谩metro.
315
+
316
+ 04:48.080 --> 04:50.280
317
+ Entonces, vamos a correr nuestro c贸digo.
318
+
319
+ 04:50.280 --> 04:53.360
320
+ Y aqu铆 vemos que 茅l no har铆a absolutamente
321
+ nada.
322
+
323
+ 04:53.360 --> 04:57.320
324
+ Nos est谩 devolviendo nuestro array original.
325
+
326
+ 04:57.320 --> 05:01.640
327
+ Y en este caso, tambi茅n vemos que este
328
+ m茅todo como tal no nos
329
+
330
+ 05:01.640 --> 05:03.920
331
+ modifica este array
332
+ original.
333
+
334
+ 05:03.920 --> 05:07.040
335
+ Y por eso, pudimos tambi茅n colocar varios
336
+ console.log
337
+
338
+ 05:07.040 --> 05:10.040
339
+ utilizando este m茅todo, precisamente por
340
+ la
341
+
342
+ 05:10.040 --> 05:11.040
343
+ inmutabilidad.
344
+
345
+ 05:11.040 --> 05:13.920
346
+ Entonces, recordemos que podemos utilizar 0,
347
+
348
+ 05:13.920 --> 05:16.880
349
+ que en este caso es para que nos devuelva
350
+ todo el array.
351
+
352
+ 05:16.880 --> 05:21.160
353
+ Y tambi茅n podemos utilizar un solo
354
+ par谩metro y dos
355
+
356
+ 05:21.160 --> 05:25.120
357
+ par谩metros, que tambi茅n pueden ser desde
358
+ comenzar el array,
359
+
360
+ 05:25.120 --> 05:42.160
361
+ como tambi茅n desde el final de nuestro array.
362
+
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/07-clase-slice_534b3124-8beb-4455-8f09-12c56b9174b6.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ // slice()
2
+
3
+ const animals = ['ant', 'bison', 'camel', 'duck', 'elephant']
4
+
5
+ console.log(animals.slice(2))
6
+ console.log(animals.slice(2, 4))
7
+ console.log(animals.slice(1, 6))
8
+ console.log(animals.slice(-2))
9
+ console.log(animals.slice(2, -1))
10
+ console.log(animals.slice())
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Uso del Spread Operator en JavaScript Copia Combinaci贸n y M谩s.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:485fe2b55cd4965cf823a150bab6e333fe956f51fd62017376970d851e8beb65
3
+ size 40113955
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-Uso del Spread Operator en JavaScript Copia Combinaci贸n y M谩s.vtt ADDED
@@ -0,0 +1,462 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:03.680
4
+ En esta clase vamos a estar hablando sobre
5
+ Spread Operator
6
+
7
+ 00:03.680 --> 00:07.760
8
+ y tambi茅n todas las funcionalidades que
9
+ podemos hacer con este operador.
10
+
11
+ 00:07.760 --> 00:11.840
12
+ El primero de ellos justamente es la copia
13
+ de un array,
14
+
15
+ 00:11.840 --> 00:14.120
16
+ as铆 como estamos viendo aqu铆 en el documento.
17
+
18
+ 00:14.120 --> 00:16.560
19
+ Podemos tener, por ejemplo, un
20
+ array
21
+
22
+ 00:16.560 --> 00:21.120
23
+ y seguido, si nosotros queremos obtener
24
+ una copia de este array,
25
+
26
+ 00:21.120 --> 00:23.960
27
+ lo podemos hacer con Spread Operator.
28
+
29
+ 00:23.960 --> 00:26.440
30
+ Entonces, escribamos ac谩, por ejemplo,
31
+
32
+ 00:26.440 --> 00:29.320
33
+ copying an
34
+ array.
35
+
36
+ 00:29.320 --> 00:32.840
37
+ Aqu铆 lo que hacemos es decir, vamos a
38
+ tener un array,
39
+
40
+ 00:32.840 --> 00:36.360
41
+ en este caso vamos a decir que es el array
42
+ original,
43
+
44
+ 00:36.360 --> 00:38.880
45
+ original
46
+ array,
47
+
48
+ 00:38.880 --> 00:42.040
49
+ y aqu铆 vamos a colocarle una serie de n煤meros,
50
+
51
+ 00:42.040 --> 00:45.400
52
+ puede ser, por ejemplo, 1, 2, 3, 4 y 5.
53
+
54
+ 00:45.400 --> 00:49.920
55
+ Y seguido, lo que vamos a hacer es crear
56
+ una copia de ese array.
57
+
58
+ 00:49.920 --> 00:54.000
59
+ Entonces, vamos a decir, el array que fue
60
+ copiado,
61
+
62
+ 00:54.000 --> 00:57.240
63
+ la copia, podemos colocarlo en presente,
64
+
65
+ 00:57.240 --> 01:01.160
66
+ copying of an
67
+ array.
68
+
69
+ 01:01.160 --> 01:01.660
70
+ Listo.
71
+
72
+ 01:01.660 --> 01:05.560
73
+ Y aqu铆 nos quedar铆a como, podr铆amos
74
+ colocar un array,
75
+
76
+ 01:05.560 --> 01:08.800
77
+ en este caso, que es donde nosotros
78
+ queremos almacenar los
79
+
80
+ 01:08.800 --> 01:12.640
81
+ diferentes valores, y utilizamos tres puntos,
82
+
83
+ 01:12.640 --> 01:16.600
84
+ que este es nuestro Spread Operator,
85
+
86
+ 01:16.600 --> 01:20.480
87
+ y seguido le colocamos el valor del array
88
+ anterior que
89
+
90
+ 01:20.480 --> 01:21.800
91
+ colocamos.
92
+
93
+ 01:21.800 --> 01:25.760
94
+ Vamos a escribir un console.log para
95
+ revisar ambos.
96
+
97
+ 01:25.760 --> 01:30.360
98
+ Vamos a revisar cu谩l es el original y cu谩l
99
+ es la copia.
100
+
101
+ 01:30.360 --> 01:32.800
102
+ Vamos a guardar nuestro c贸digo y a correrlo.
103
+
104
+ 01:36.240 --> 01:38.360
105
+ Y aqu铆 ya estamos viendo que tenemos,
106
+
107
+ 01:38.360 --> 01:43.560
108
+ uno, el array original, 1, 2, 3, 4, 5,
109
+ y seguido, la copia.
110
+
111
+ 01:43.560 --> 01:47.880
112
+ Estas copias normalmente es para no mutar
113
+ ciertos valores,
114
+
115
+ 01:47.880 --> 01:51.080
116
+ y por eso normalmente a veces utilizamos
117
+ lo que es la copia,
118
+
119
+ 01:51.080 --> 01:55.240
120
+ y en estos casos tambi茅n puede ser muy
121
+ 煤til para poder hacer
122
+
123
+ 01:55.240 --> 01:58.120
124
+ esas copias sin modificar justamente los
125
+ valores
126
+
127
+ 01:58.120 --> 02:01.240
128
+ originales que tenemos en cierto c贸digo.
129
+
130
+ 02:01.240 --> 02:06.440
131
+ Por otro lado, podemos utilizar el Spread
132
+ para combinar arrays.
133
+
134
+ 02:06.440 --> 02:13.600
135
+ Entonces, voy a colocar por ac谩, n煤mero 2,
136
+ combining arrays,
137
+
138
+ 02:13.600 --> 02:15.680
139
+ y vamos a crear dos
140
+ arrays.
141
+
142
+ 02:15.680 --> 02:19.280
143
+ El primero va a ser, por ejemplo, unos
144
+ n煤meros.
145
+
146
+ 02:19.280 --> 02:22.160
147
+ Nuevamente vamos a colocar 1, 2,
148
+ 3,
149
+
150
+ 02:22.160 --> 02:25.440
151
+ y vamos a colocar otro array, que en este
152
+ caso sea,
153
+
154
+ 02:25.440 --> 02:29.480
155
+ por ejemplo, 4, 5, y
156
+ 6.
157
+
158
+ 02:29.480 --> 02:33.040
159
+ En esto lo que vamos a hacer es crear otra
160
+ variable que diga
161
+
162
+ 02:33.040 --> 02:37.400
163
+ combined array, y le vamos a decir lo
164
+ siguiente.
165
+
166
+ 02:37.400 --> 02:40.960
167
+ Creamos nuestro array, seguido utilizamos
168
+ nuestro Spread
169
+
170
+ 02:40.960 --> 02:46.480
171
+ Operator, que ser铆a 1, 2, 3, y copiamos
172
+ nuestro array n煤mero
173
+
174
+ 02:46.480 --> 02:46.960
175
+ 1.
176
+
177
+ 02:46.960 --> 02:50.360
178
+ Lo que estamos haciendo es como tomar todo
179
+ esto y, pum,
180
+
181
+ 02:50.360 --> 02:52.320
182
+ desplegarlo
183
+ ac谩.
184
+
185
+ 02:52.320 --> 02:56.960
186
+ Seguido colocamos una coma, 1, 2, 3, array 2,
187
+
188
+ 02:56.960 --> 03:01.400
189
+ y despu茅s lo que hacemos es colocar console.
190
+ log para
191
+
192
+ 03:01.400 --> 03:04.040
193
+ revisar todas estas cosas que acabamos de
194
+ hacer.
195
+
196
+ 03:04.040 --> 03:07.680
197
+ Entonces, array n煤mero 1, array n煤mero 2,
198
+
199
+ 03:07.680 --> 03:10.240
200
+ y la combinaci贸n de este
201
+ array.
202
+
203
+ 03:10.240 --> 03:14.440
204
+ Vamos a correr nuevamente nuestro c贸digo.
205
+
206
+ 03:14.440 --> 03:18.200
207
+ Y aqu铆 revisamos que tenemos 1, 2, 3 como
208
+ el primer array,
209
+
210
+ 03:18.200 --> 03:22.200
211
+ el segundo 4, 5, 6, y despu茅s tenemos la
212
+ combinaci贸n de
213
+
214
+ 03:22.200 --> 03:25.280
215
+ ambos utilizando Spread
216
+ Operator.
217
+
218
+ 03:25.280 --> 03:30.720
219
+ Por otro lado, podr铆amos crear arrays
220
+ teniendo como base otro
221
+
222
+ 03:30.720 --> 03:33.680
223
+ array y adicion谩ndole diferentes elementos.
224
+
225
+ 03:33.680 --> 03:36.720
226
+ Por ejemplo, tenemos aqu铆, crea un array,
227
+
228
+ 03:36.720 --> 03:39.400
229
+ que en este caso tendr铆amos unos libros
230
+ que son el rojo,
231
+
232
+ 03:39.400 --> 03:43.520
233
+ el verde, el azul y el naranja, pero
234
+ podr铆amos tomar ese que ya
235
+
236
+ 03:43.520 --> 03:48.640
237
+ tenemos y adicionarle 1, que en este caso
238
+ ser铆a el amarillo.
239
+
240
+ 03:48.640 --> 03:51.200
241
+ En c贸digo esto se ver铆a de la siguiente
242
+ manera.
243
+
244
+ 03:51.200 --> 03:59.680
245
+ Vamos a colocar ac谩, 3, creating arrays
246
+ with additional
247
+
248
+ 03:59.680 --> 04:01.120
249
+ elements.
250
+
251
+ 04:01.120 --> 04:02.080
252
+ Listo.
253
+
254
+ 04:02.080 --> 04:05.080
255
+ Vamos a crear un array, que en este caso
256
+ vamos a colocar que
257
+
258
+ 04:05.080 --> 04:07.080
259
+ es como el array
260
+ base.
261
+
262
+ 04:07.080 --> 04:10.960
263
+ Y este array base va a tener elementos,
264
+ por ejemplo,
265
+
266
+ 04:10.960 --> 04:12.200
267
+ 1, 2 y
268
+ 3.
269
+
270
+ 04:12.200 --> 04:19.840
271
+ Seguido, vamos a colocar array with
272
+ additional elements.
273
+
274
+ 04:19.840 --> 04:24.000
275
+ Y vamos a decirle, entonces, vamos a abrir
276
+ un array,
277
+
278
+ 04:24.000 --> 04:25.960
279
+ en este caso, las
280
+ llaves.
281
+
282
+ 04:25.960 --> 04:29.560
283
+ Seguido, vamos a colocar el Spread Operator,
284
+ 1, 2, 3.
285
+
286
+ 04:29.560 --> 04:35.000
287
+ Le decimos que nos copie este array que
288
+ tenemos como base y
289
+
290
+ 04:35.000 --> 04:38.560
291
+ que adicional nos agregue otros elementos,
292
+ por ejemplo,
293
+
294
+ 04:38.560 --> 04:41.040
295
+ el 4, el 5 y el
296
+ 6.
297
+
298
+ 04:41.040 --> 04:47.120
299
+ Vamos a colocar console.log de estas
300
+ variables que acabamos
301
+
302
+ 04:47.120 --> 04:48.000
303
+ de
304
+ crear.
305
+
306
+ 04:48.000 --> 04:51.200
307
+ Vamos a colocar base array y este array
308
+ with additional
309
+
310
+ 04:51.200 --> 04:54.720
311
+ elements y corremos nuestro
312
+ c贸digo.
313
+
314
+ 04:54.720 --> 04:59.440
315
+ Ac谩 ya revisamos nuestros dos 煤ltimos arrays,
316
+ que ser铆a 1,
317
+
318
+ 04:59.440 --> 05:02.080
319
+ 2, 3, como el array
320
+ base.
321
+
322
+ 05:02.080 --> 05:06.720
323
+ Y luego tenemos 1, 2, 3 y otros elementos
324
+ que le agregamos
325
+
326
+ 05:06.720 --> 05:09.440
327
+ justamente a ese array que es
328
+ base.
329
+
330
+ 05:09.440 --> 05:12.480
331
+ Y, por supuesto, nos estamos modificando
332
+ nuestro array
333
+
334
+ 05:12.480 --> 05:13.600
335
+ original.
336
+
337
+ 05:13.600 --> 05:17.040
338
+ Por otro lado, otra cosa muy interesante
339
+ que podemos hacer
340
+
341
+ 05:17.040 --> 05:22.360
342
+ con Spread Operators es pasarle par谩metros
343
+ a una funci贸n.
344
+
345
+ 05:22.360 --> 05:27.640
346
+ Por ejemplo, vamos a colocar pass elements
347
+ to functions.
348
+
349
+ 05:27.640 --> 05:32.920
350
+ Si tuvi茅ramos una funci贸n que sea de suma
351
+ y esta funci贸n lo
352
+
353
+ 05:32.920 --> 05:38.120
354
+ que hace es sumar en return, sumar tres
355
+ valores.
356
+
357
+ 05:38.120 --> 05:42.720
358
+ Vamos a colocarle, por ejemplo, ac谩 a, b y c.
359
+
360
+ 05:42.720 --> 05:45.160
361
+ Y este return, esta suma como
362
+ tal,
363
+
364
+ 05:45.160 --> 05:49.040
365
+ va a ser la suma de a m谩s b m谩s
366
+ c.
367
+
368
+ 05:49.040 --> 05:51.800
369
+ Pues, lo que podemos hacer es decir,
370
+
371
+ 05:51.800 --> 05:54.640
372
+ ah, bueno, yo quiero ejecutar esa funci贸n,
373
+
374
+ 05:54.640 --> 05:57.800
375
+ pero no le quiero pasar los valores si
376
+ nosotros quisi茅ramos
377
+
378
+ 05:57.800 --> 06:00.360
379
+ pasarle los valores normalmente antes de todo.
380
+
381
+ 06:00.360 --> 06:02.440
382
+ Ser铆a, por ejemplo, 1, 2,
383
+ 3.
384
+
385
+ 06:02.440 --> 06:05.160
386
+ Si nosotros quisi茅ramos cambiar esa forma
387
+ de ejecuci贸n
388
+
389
+ 06:05.160 --> 06:08.600
390
+ pas谩ndole un array con toda la cantidad de
391
+ elementos que
392
+
393
+ 06:08.600 --> 06:12.440
394
+ queremos que se sumen ac谩, pues, lo
395
+ podemos hacer diciendo
396
+
397
+ 06:12.440 --> 06:17.840
398
+ const num, o numbers, va a ser igual a
399
+ qui茅n?
400
+
401
+ 06:17.840 --> 06:20.360
402
+ A 1, 2 y
403
+ 3.
404
+
405
+ 06:20.360 --> 06:24.320
406
+ 驴C贸mo se lo pasamos a esta suma utilizando
407
+ Spread Operators?
408
+
409
+ 06:24.320 --> 06:27.400
410
+ Bueno, vamos a colocarle ac谩, vamos a
411
+ borrar los par谩metros,
412
+
413
+ 06:27.400 --> 06:31.720
414
+ le colocamos los tres puntos y seguido
415
+ colocamos nuestro array
416
+
417
+ 06:31.720 --> 06:35.000
418
+ con los tres valores que ya tenemos en el
419
+ array.
420
+
421
+ 06:35.000 --> 06:40.880
422
+ Aqu铆 vamos a colocar const result y vamos
423
+ a colocar un
424
+
425
+ 06:40.880 --> 06:42.840
426
+ console.log de
427
+ qui茅n?
428
+
429
+ 06:42.840 --> 06:46.120
430
+ De este resultado, para ver qu茅 sucedi贸 ac谩.
431
+
432
+ 06:46.120 --> 06:50.280
433
+ Entonces, corremos nuevamente nuestro
434
+ c贸digo y aqu铆 ya
435
+
436
+ 06:50.280 --> 06:53.800
437
+ tenemos como resultado el 6, que es la
438
+ suma de 1, 2 y 3.
439
+
440
+ 06:53.800 --> 06:57.080
441
+ Y aqu铆 ya vemos que podemos utilizar
442
+ tambi茅n esta Spread
443
+
444
+ 06:57.080 --> 06:58.560
445
+ Operator, 驴para
446
+ qu茅?
447
+
448
+ 06:58.560 --> 07:02.760
449
+ Para pasar valores que tengamos en un
450
+ array justamente como
451
+
452
+ 07:02.760 --> 07:05.800
453
+ par谩metros de una funci贸n, como en este caso.
454
+
455
+ 07:05.800 --> 07:09.280
456
+ Cu茅ntame, 驴cu谩l fue tu forma favorita de
457
+ utilizar los Spread
458
+
459
+ 07:09.280 --> 07:34.240
460
+ Operators en los
461
+ comentarios?
462
+
subir/Curso de Fundamentos de JavaScript/04-Manipulaci贸n de Arrays/08-clase-spread-operator_13d4bad1-6c65-47e2-bd80-89478793784f.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // 1. Copying an Array
2
+
3
+ const originalArray = [1, 2, 3, 4, 5]
4
+ const copyOfAnArray = [...originalArray]
5
+
6
+ console.log(originalArray)
7
+ console.log(copyOfAnArray)
8
+
9
+ // 2. Combining Arrrays
10
+
11
+ const array1 = [1, 2, 3]
12
+ const array2 = [4, 5, 6]
13
+ const combinedArray = [...array1, ...array2]
14
+
15
+ console.log(array1)
16
+ console.log(array2)
17
+ console.log(combinedArray)
18
+
19
+ // 3. Creating Arrays with Additional Elements
20
+
21
+ const baseArray = [1, 2, 3]
22
+ const arrayWithAdditionalElements = [...baseArray, 4, 5, 6]
23
+
24
+ console.log(baseArray)
25
+ console.log(arrayWithAdditionalElements)
26
+
27
+ // 4. Pass elements to functions
28
+
29
+ function sum (a, b, c) {
30
+ return a + b + c
31
+ }
32
+
33
+ const numbers = [1, 2, 3]
34
+ const result = sum(...numbers)
35
+
36
+ console.log(result)
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Programaci贸n Orientada a Objetos en JavaScript Conceptos y Pr谩ctica.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a6401628e109ea2e6434ddf6319f270d91ee6b8cf71491fd638b05d0abf9a86a
3
+ size 30413424
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Programaci贸n Orientada a Objetos en JavaScript Conceptos y Pr谩ctica.vtt ADDED
@@ -0,0 +1,529 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:02.400
4
+ Comencemos hablando de
5
+ objetos.
6
+
7
+ 00:02.400 --> 00:06.000
8
+ Y este es un t茅rmino que posiblemente has
9
+ escuchado much铆simo.
10
+
11
+ 00:06.000 --> 00:09.400
12
+ Has escuchado de JSON, has escuchado de
13
+ objetos,
14
+
15
+ 00:09.400 --> 00:12.100
16
+ has escuchado de programaci贸n orientada a
17
+ objetos.
18
+
19
+ 00:12.100 --> 00:15.200
20
+ Y eso es la base de lo que va a hacer esta
21
+ clase.
22
+
23
+ 00:16.200 --> 00:17.600
24
+ 驴Qu茅 son los
25
+ objetos?
26
+
27
+ 00:17.600 --> 00:20.600
28
+ 驴C贸mo podemos traducirlos? 驴C贸mo los vamos
29
+ a utilizar?
30
+
31
+ 00:20.600 --> 00:24.200
32
+ 驴C贸mo puedo empezar a generar cosas con
33
+ objetos?
34
+
35
+ 00:24.200 --> 00:26.000
36
+ Vamos pr谩cticamente a nuestro c贸digo.
37
+
38
+ 00:26.000 --> 00:30.200
39
+ Aqu铆 voy a abrir algunos
40
+ comentarios
41
+
42
+ 00:31.600 --> 00:33.000
43
+ para empezar a
44
+ escribir.
45
+
46
+ 00:33.000 --> 00:38.800
47
+ Pero los objetos pr谩cticamente podemos
48
+ traducirlos como una estructura,
49
+
50
+ 00:40.400 --> 00:42.000
51
+ como una estructura de
52
+ datos.
53
+
54
+ 00:42.000 --> 00:43.200
55
+ Pr谩cticamente es
56
+ esto.
57
+
58
+ 00:43.200 --> 00:47.200
59
+ Un objeto a grandes rasgos es simplemente
60
+ una estructura de datos
61
+
62
+ 00:47.200 --> 00:50.400
63
+ que me ayuda a guardar valores de una
64
+ forma particular,
65
+
66
+ 00:50.400 --> 00:53.800
67
+ que se le llama Key
68
+ Value.
69
+
70
+ 00:53.800 --> 00:58.600
71
+ Esto quiere decir que va a haber algo que
72
+ se le llama propiedad
73
+
74
+ 00:58.600 --> 01:01.200
75
+ y el valor de la
76
+ propiedad.
77
+
78
+ 01:01.200 --> 01:03.600
79
+ Y esto es la forma que, o m谩s
80
+ bien,
81
+
82
+ 01:03.600 --> 01:06.200
83
+ es lo que nos va a ayudar a generar la
84
+ estructura
85
+
86
+ 01:06.200 --> 01:09.600
87
+ de lo que conocemos como un
88
+ objeto.
89
+
90
+ 01:09.600 --> 01:12.400
91
+ 驴Cu谩l es esa estructura ya mucho m谩s
92
+ generalizada?
93
+
94
+ 01:12.400 --> 01:14.200
95
+ Si tenemos aqu铆 nuestro
96
+ objeto,
97
+
98
+ 01:14.200 --> 01:16.800
99
+ tienen que llevar un nombre al objeto,
100
+
101
+ 01:16.800 --> 01:18.400
102
+ abrimos
103
+ corchetes,
104
+
105
+ 01:18.400 --> 01:21.200
106
+ y adentro de los corchetes vamos a
107
+ poner
108
+
109
+ 01:21.200 --> 01:26.200
110
+ lo que se llaman las propiedades y el
111
+ valor de las propiedades.
112
+
113
+ 01:26.200 --> 01:29.800
114
+ Cada propiedad tiene que llevar un valor.
115
+
116
+ 01:29.800 --> 01:33.600
117
+ Despu茅s, si queremos agregar otro tipo de
118
+ propiedad,
119
+
120
+ 01:33.600 --> 01:37.400
121
+ agregamos otra propiedad igual a otro tipo
122
+ de valor,
123
+
124
+ 01:37.400 --> 01:41.000
125
+ que en este caso, el igual, si vemos ya la
126
+ estructura real,
127
+
128
+ 01:41.000 --> 01:44.400
129
+ es la propiedad, dos puntos y el valor.
130
+
131
+ 01:44.400 --> 01:48.400
132
+ La propiedad, dos puntos y el valor.
133
+
134
+ 01:48.400 --> 01:51.600
135
+ Si voy a agregar otra propiedad, agrego la
136
+ coma
137
+
138
+ 01:51.600 --> 01:54.200
139
+ y vuelvo a repetir lo
140
+ mismo.
141
+
142
+ 01:54.200 --> 01:57.400
143
+ Propiedad, dos puntos y el
144
+ valor.
145
+
146
+ 01:57.400 --> 02:00.800
147
+ Algo importante a destacar de la parte de
148
+ los objetos
149
+
150
+ 02:00.800 --> 02:02.400
151
+ es que, como te acabo de
152
+ decir,
153
+
154
+ 02:02.400 --> 02:04.000
155
+ esto es una estructura de
156
+ datos
157
+
158
+ 02:04.000 --> 02:06.400
159
+ que me ayuda a guardar
160
+ informaci贸n.
161
+
162
+ 02:06.400 --> 02:08.400
163
+ Posiblemente, a tu edad no te queda claro de,
164
+
165
+ 02:08.400 --> 02:11.600
166
+ ok, no entiendo c贸mo querr铆a yo guardar
167
+ propiedad y valor.
168
+
169
+ 02:11.600 --> 02:13.000
170
+ Aqu铆 tengo una
171
+ pregunta.
172
+
173
+ 02:13.000 --> 02:14.800
174
+ Si yo te pido que, por
175
+ favor,
176
+
177
+ 02:14.800 --> 02:19.800
178
+ me generes una persona o me generes un
179
+ carro en JavaScript,
180
+
181
+ 02:19.800 --> 02:22.800
182
+ 驴cu谩l ser铆a tu forma de construir una
183
+ persona
184
+
185
+ 02:22.800 --> 02:25.400
186
+ o construir un carro en
187
+ JavaScript?
188
+
189
+ 02:25.400 --> 02:29.800
190
+ Y ah铆 es donde empezamos a hablar de
191
+ abstraer las cosas,
192
+
193
+ 02:29.800 --> 02:32.400
194
+ abstraer la realidad y llevarlas a
195
+ programaci贸n.
196
+
197
+ 02:32.400 --> 02:35.600
198
+ Y ah铆 viene programaci贸n orientada a objetos.
199
+
200
+ 02:35.600 --> 02:38.800
201
+ Los objetos son la base de lo que nos va a
202
+ ayudar
203
+
204
+ 02:38.800 --> 02:41.200
205
+ a generar un paradigma de
206
+ programaci贸n
207
+
208
+ 02:41.200 --> 02:44.200
209
+ que es abstraer con los
210
+ objetos.
211
+
212
+ 02:44.200 --> 02:47.200
213
+ Abstraer cosas u objetos de la
214
+ realidad
215
+
216
+ 02:47.200 --> 02:49.200
217
+ para poderlas llevar a programaci贸n.
218
+
219
+ 02:49.200 --> 02:51.800
220
+ Entonces, vamos con esto a un
221
+ ejemplo
222
+
223
+ 02:51.800 --> 02:55.200
224
+ para que puedas ver entonces c贸mo podremos
225
+ construir
226
+
227
+ 02:55.200 --> 03:00.000
228
+ o podemos llevar a una persona a la
229
+ programaci贸n con un objeto.
230
+
231
+ 03:00.000 --> 03:03.000
232
+ Lo primero es voy a construir una
233
+ constante
234
+
235
+ 03:03.000 --> 03:05.200
236
+ que se va a llamar
237
+ persona.
238
+
239
+ 03:07.200 --> 03:09.400
240
+ Este va a ser nuestro primer objeto.
241
+
242
+ 03:09.400 --> 03:13.200
243
+ Despu茅s, te coment茅 que tenemos que tener
244
+ propiedades y valores.
245
+
246
+ 03:13.200 --> 03:15.200
247
+ Entonces, 驴qu茅 forma a una
248
+ persona?
249
+
250
+ 03:15.200 --> 03:18.200
251
+ Si tuvi茅ramos que escribir cu谩les son las
252
+ propiedades de una persona,
253
+
254
+ 03:18.200 --> 03:20.800
255
+ 驴qu茅 es lo que me dir铆as? Puedes colocarlo
256
+ en comentarios.
257
+
258
+ 03:20.800 --> 03:24.200
259
+ Pero de inicio te puedo decir una persona
260
+ lleva un nombre.
261
+
262
+ 03:24.200 --> 03:25.200
263
+ Perfecto.
264
+
265
+ 03:25.200 --> 03:28.200
266
+ Y en este caso, este nombre se va a llamar
267
+ John.
268
+
269
+ 03:29.200 --> 03:31.200
270
+ 驴Qu茅 tipo de propiedad
271
+ lleva?
272
+
273
+ 03:31.200 --> 03:33.200
274
+ Tiene, por ejemplo,
275
+ edad.
276
+
277
+ 03:33.200 --> 03:34.200
278
+ OK.
279
+
280
+ 03:34.200 --> 03:37.200
281
+ Y esta edad es 30, por
282
+ ejemplo.
283
+
284
+ 03:37.200 --> 03:40.200
285
+ Aqu铆 te das cuenta, estamos respetando lo
286
+ que es el tipo de valor.
287
+
288
+ 03:40.200 --> 03:44.200
289
+ Edad es un n煤mero, as铆 que simplemente lo
290
+ colocamos como un n煤mero.
291
+
292
+ 03:44.200 --> 03:47.200
293
+ John es un string, as铆 que lo colocamos en
294
+ comillas
295
+
296
+ 03:47.200 --> 03:50.200
297
+ para que se pueda poner como un string.
298
+
299
+ 03:50.200 --> 03:52.200
300
+ 驴Qu茅 otro tipo de valor
301
+ llevar铆a?
302
+
303
+ 03:52.200 --> 03:54.200
304
+ Por ejemplo, 驴qu茅 tipo de
305
+ propiedad?
306
+
307
+ 03:54.200 --> 03:57.200
308
+ Una persona puede tener, a lo mejor,
309
+ alguna direcci贸n.
310
+
311
+ 03:57.200 --> 03:59.200
312
+ Y podemos
313
+ agregarlo.
314
+
315
+ 03:59.200 --> 04:04.200
316
+ Y esta direcci贸n est谩 compuesta por otro
317
+ tipo de propiedades y valores.
318
+
319
+ 04:04.200 --> 04:08.200
320
+ As铆 que aqu铆 vamos a generar otro peque帽o
321
+ objeto
322
+
323
+ 04:08.200 --> 04:10.200
324
+ que lleve otro tipo de
325
+ propiedades.
326
+
327
+ 04:10.200 --> 04:12.200
328
+ Que ser铆a, por ejemplo,
329
+ calle.
330
+
331
+ 04:12.200 --> 04:13.200
332
+ OK.
333
+
334
+ 04:13.200 --> 04:23.200
335
+ Y la calle podemos decir que es Avenida
336
+ Insurgentes n煤mero 187.
337
+
338
+ 04:23.200 --> 04:26.200
339
+ Y que es de
340
+ ciudad.
341
+
342
+ 04:26.200 --> 04:29.200
343
+ Y es ciudad de
344
+ M茅xico.
345
+
346
+ 04:30.200 --> 04:31.200
347
+ Perfecto.
348
+
349
+ 04:31.200 --> 04:35.200
350
+ Ahora, dentro de la estructura de los objetos,
351
+
352
+ 04:35.200 --> 04:38.200
353
+ los objetos llevan propiedad y valor,
354
+
355
+ 04:38.200 --> 04:42.200
356
+ pero tambi茅n hay algo que se le llama m茅todos.
357
+
358
+ 04:44.200 --> 04:46.200
359
+ 驴Y qu茅 ser铆an los
360
+ m茅todos?
361
+
362
+ 04:46.200 --> 04:50.200
363
+ Los m茅todos son funciones que est谩n
364
+ adentro de objetos
365
+
366
+ 04:50.200 --> 04:52.200
367
+ que nos ayudan a generar la interacci贸n.
368
+
369
+ 04:52.200 --> 04:54.200
370
+ Las propiedades nos dan
371
+ valor,
372
+
373
+ 04:54.200 --> 04:58.200
374
+ los objetos nos ayudan a generar interacci贸n.
375
+
376
+ 04:58.200 --> 05:01.200
377
+ Entonces, vamos a ver c贸mo construir铆amos
378
+ un m茅todo
379
+
380
+ 05:01.200 --> 05:02.200
381
+ adentro de un
382
+ objeto.
383
+
384
+ 05:02.200 --> 05:05.200
385
+ Por ejemplo, una persona puede saludar.
386
+
387
+ 05:05.200 --> 05:09.200
388
+ Y el saludar de una persona es como una
389
+ interacci贸n
390
+
391
+ 05:09.200 --> 05:11.200
392
+ que no es pr谩cticamente informaci贸n,
393
+
394
+ 05:11.200 --> 05:13.200
395
+ pero simplemente genera una interacci贸n.
396
+
397
+ 05:13.200 --> 05:17.200
398
+ Y esto es algo, es una acci贸n que puede
399
+ llevar una persona.
400
+
401
+ 05:17.200 --> 05:19.200
402
+ As铆 que para poder construir un m茅todo,
403
+
404
+ 05:19.200 --> 05:22.200
405
+ nosotros generamos, por ejemplo, saludar.
406
+
407
+ 05:22.200 --> 05:24.200
408
+ Vamos a construir esta
409
+ funci贸n.
410
+
411
+ 05:24.200 --> 05:27.200
412
+ Y ya dentro de la funci贸n vamos a hacer la
413
+ acci贸n.
414
+
415
+ 05:27.200 --> 05:33.200
416
+ En este caso, el saludar va a
417
+ ser,
418
+
419
+ 05:33.200 --> 05:37.200
420
+ vamos a utilizar partes del
421
+ objeto.
422
+
423
+ 05:37.200 --> 05:42.200
424
+ En este caso va a ser hola, mi nombre es,
425
+
426
+ 05:42.200 --> 05:47.200
427
+ y aqu铆 vamos a colocar el nombre de
428
+ nuestro objeto persona.
429
+
430
+ 05:47.200 --> 05:51.200
431
+ Persona.nombre.
432
+
433
+ 05:51.200 --> 05:55.200
434
+ Estamos colocando el nombre del objeto de
435
+ nuestra persona.
436
+
437
+ 05:55.200 --> 05:58.200
438
+ Entonces es el nombre que le pertenece al
439
+ objeto
440
+
441
+ 05:58.200 --> 06:01.200
442
+ de este objeto
443
+ pr谩cticamente.
444
+
445
+ 06:01.200 --> 06:02.200
446
+ Perfecto.
447
+
448
+ 06:02.200 --> 06:04.200
449
+ Entonces ya con esto tenemos una
450
+ estructura base
451
+
452
+ 06:04.200 --> 06:05.200
453
+ de qu茅 es un
454
+ objeto.
455
+
456
+ 06:05.200 --> 06:08.200
457
+ Si yo te preguntara c贸mo llevar铆as a una
458
+ persona a programaci贸n,
459
+
460
+ 06:08.200 --> 06:10.200
461
+ s茅 que suena bastante
462
+ abstracto,
463
+
464
+ 06:10.200 --> 06:13.200
465
+ pero esto es parte del paradigma de
466
+ programaci贸n orientado a objeto.
467
+
468
+ 06:13.200 --> 06:16.200
469
+ Esta ser铆a la respuesta de c贸mo
470
+ llevar铆amos
471
+
472
+ 06:16.200 --> 06:18.200
473
+ a una persona a
474
+ programaci贸n.
475
+
476
+ 06:18.200 --> 06:21.200
477
+ Generamos un objeto que tiene ciertas
478
+ propiedades,
479
+
480
+ 06:21.200 --> 06:24.200
481
+ que tiene ciertos m茅todos que
482
+ forman
483
+
484
+ 06:24.200 --> 06:25.200
485
+ una
486
+ persona.
487
+
488
+ 06:25.200 --> 06:26.200
489
+ 驴Por
490
+ qu茅?
491
+
492
+ 06:26.200 --> 06:28.200
493
+ Porque tenemos el nombre, tenemos la edad,
494
+
495
+ 06:28.200 --> 06:29.200
496
+ podemos tener el
497
+ g茅nero,
498
+
499
+ 06:29.200 --> 06:32.200
500
+ podemos tener otro tipo de propiedades que
501
+ nos ayuden
502
+
503
+ 06:32.200 --> 06:34.200
504
+ a entender qu茅 es una
505
+ persona.
506
+
507
+ 06:34.200 --> 06:36.200
508
+ En este caso aqu铆 estamos agregando,
509
+ por ejemplo,
510
+
511
+ 06:36.200 --> 06:39.200
512
+ un peque帽o objeto interno que tiene otro
513
+ tipo de propiedades
514
+
515
+ 06:39.200 --> 06:41.200
516
+ que es la direcci贸n de la
517
+ persona.
518
+
519
+ 06:41.200 --> 06:43.200
520
+ Y estamos generando un m茅todo que es una
521
+ acci贸n
522
+
523
+ 06:43.200 --> 06:45.200
524
+ que esta persona puede hacer, que es saludar.
525
+
526
+ 06:45.200 --> 06:55.200
527
+ Y al momento de saludar nos va a decir su
528
+ nombre.
529
+
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/01-index_2f0c6cdf-1728-43de-b87c-10c86349e8e1.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+
3
+ estructura de datos
4
+
5
+ key / value
6
+
7
+ objeto {
8
+ propiedad: valor,
9
+ propiedad: valor,
10
+ propiedad: valor
11
+ Metodos()
12
+ }
13
+
14
+ */
15
+
16
+ const persona = {
17
+ nombre: "John",
18
+ edad: 30,
19
+ direccion: {
20
+ calle: "Av Insurgentre 187",
21
+ ciudad: "CDMX",
22
+ },
23
+ saludar() {
24
+ console.log(`hola, mi nombre es ${persona.nombre}`);
25
+ },
26
+ };
27
+
28
+ // Imprimamos el objeto
29
+
30
+ console.log(persona);
31
+
32
+ // Imprimamos la propiedad nombre
33
+
34
+ console.log(persona.nombre);
35
+
36
+ // Imprimamos el metodo saludar
37
+
38
+ persona.saludar();
39
+
40
+ //
41
+ //
42
+ //
43
+ //
44
+ //
45
+ // Agrergamos una propiedad al objeto en este caso telefono
46
+
47
+ persona.telefono = "555-555-5555";
48
+
49
+ console.log(persona.telefono);
50
+
51
+ // Agregamos un metodo al objeto
52
+
53
+ persona.despedir = () => {
54
+ console.log("Adios");
55
+ };
56
+
57
+ persona.despedir();
58
+
59
+ // Acceder a una propiedad de un objeto anidado / Metodo
60
+
61
+ console.log(persona.direccion.calle);
62
+
63
+ //
64
+ //
65
+ //
66
+ //
67
+ //
68
+ //
69
+ // Eliminar una propiedad de un objeto
70
+
71
+ delete persona.telefono;
72
+
73
+ console.log(persona.telefono);
74
+
75
+ // Eliminar un metodo de un objeto
76
+
77
+ delete persona.despedir;
78
+
79
+ console.log(persona.despedir());
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Creaci贸n y Manipulaci贸n de Objetos en JavaScript.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7a5a7230b4e46ade5a1bade1048ac0029268dd9ddea1e7af0a641592f2c7ed43
3
+ size 77973677
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Creaci贸n y Manipulaci贸n de Objetos en JavaScript.vtt ADDED
@@ -0,0 +1,640 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:03.600
4
+ Cuando hablamos de objetos, podemos ver
5
+ los objetos como una
6
+
7
+ 00:03.600 --> 00:04.720
8
+ estructura de
9
+ datos.
10
+
11
+ 00:08.960 --> 00:11.480
12
+ Esto nos va a ayudar a guardar informaci贸n
13
+ y la vamos a guardar
14
+
15
+ 00:11.480 --> 00:12.720
16
+ de una forma
17
+ particular.
18
+
19
+ 00:12.720 --> 00:19.320
20
+ Vamos a tomar en cuenta dos cosas, el key
21
+ y un value.
22
+
23
+ 00:19.320 --> 00:22.720
24
+ Este key value va a ser, va a usar una
25
+ propiedad y esa
26
+
27
+ 00:22.720 --> 00:24.560
28
+ propiedad va a tener un
29
+ valor.
30
+
31
+ 00:24.560 --> 00:26.880
32
+ Y as铆 es como vamos a guardar la informaci贸n.
33
+
34
+ 00:26.880 --> 00:30.840
35
+ Podemos ver el objeto, m谩s o menos la
36
+ estructura ser铆a
37
+
38
+ 00:30.840 --> 00:33.600
39
+ objeto.
40
+
41
+ 00:33.600 --> 00:35.360
42
+ Vamos a abrir nuestros
43
+ crochetes.
44
+
45
+ 00:35.360 --> 00:39.240
46
+ Y entonces aqu铆 ponemos propiedad y esta
47
+ propiedad va
48
+
49
+ 00:39.240 --> 00:41.640
50
+ a tener el
51
+ valor.
52
+
53
+ 00:41.640 --> 00:43.400
54
+ Si queremos guardar m谩s informaci贸n,
55
+
56
+ 00:43.400 --> 00:49.920
57
+ ponemos una coma y bajamos propiedad y de
58
+ igual forma
59
+
60
+ 00:49.920 --> 00:50.960
61
+ valor.
62
+
63
+ 00:50.960 --> 00:55.400
64
+ Y as铆 podemos continuar nosotros guardando
65
+ m谩s propiedades que
66
+
67
+ 00:55.400 --> 00:57.800
68
+ a su vez tengan
69
+ valores.
70
+
71
+ 00:57.800 --> 01:01.440
72
+ Y si queremos ya no tener la propiedad y
73
+ valor, por ejemplo,
74
+
75
+ 01:01.440 --> 01:05.440
76
+ los objetos tambi茅n tienen algo que se le
77
+ conoce como m茅todos.
78
+
79
+ 01:05.440 --> 01:09.640
80
+ Que los m茅todos son acciones que van a
81
+ hacer los objetos con
82
+
83
+ 01:09.640 --> 01:12.320
84
+ cierta informaci贸n que
85
+ tengan.
86
+
87
+ 01:12.320 --> 01:15.320
88
+ La forma de generar los m茅todos es como si
89
+ hici茅ramos una
90
+
91
+ 01:15.320 --> 01:19.240
92
+ funci贸n, pero esta funci贸n va a ir adentro
93
+ de nuestro objeto.
94
+
95
+ 01:19.240 --> 01:21.960
96
+ Entonces, 驴c贸mo llevamos esto a un objeto
97
+ en la realidad?
98
+
99
+ 01:21.960 --> 01:23.920
100
+ Pues bueno, esta es la
101
+ estructura,
102
+
103
+ 01:23.920 --> 01:26.880
104
+ pero vamos a construir en este momento un
105
+ objeto.
106
+
107
+ 01:26.880 --> 01:30.640
108
+ Entonces vamos a construir un objeto.
109
+
110
+ 01:30.640 --> 01:33.440
111
+ Empezamos con una constante y la constante
112
+ se va a llamar
113
+
114
+ 01:33.440 --> 01:34.880
115
+ persona.
116
+
117
+ 01:34.880 --> 01:37.880
118
+ Lo tenemos, va a ser igual a nuestros
119
+ crochetes.
120
+
121
+ 01:37.880 --> 01:40.680
122
+ Y entonces aqu铆 comenzamos con nuestras
123
+ propiedades.
124
+
125
+ 01:40.680 --> 01:46.760
126
+ Primero se va a llamar nombre, que va a
127
+ ser igual a,
128
+
129
+ 01:46.760 --> 01:49.080
130
+ y vamos a utilizar un dato de string,
131
+
132
+ 01:49.080 --> 01:53.360
133
+ John, coma, para poder colocar la segunda
134
+ propiedad,
135
+
136
+ 01:53.360 --> 01:55.640
137
+ que va a ser igual a, que va a ser edad.
138
+
139
+ 01:55.640 --> 02:00.600
140
+ Y en edad vamos a utilizar un tipo de dato
141
+ que es n煤mero.
142
+
143
+ 02:00.600 --> 02:03.760
144
+ Y ahora vamos a poner
145
+ direcci贸n.
146
+
147
+ 02:03.760 --> 02:07.440
148
+ Y la direcci贸n va a ser en s铆 otro peque帽o
149
+ objeto unidado,
150
+
151
+ 02:07.440 --> 02:10.600
152
+ porque va a llevar m谩s propiedades, que
153
+ ser铆a calle.
154
+
155
+ 02:10.600 --> 02:15.360
156
+ Y esta calle va a ser avenida, esto tiene
157
+ que ir adentro,
158
+
159
+ 02:15.360 --> 02:22.200
160
+ avenida Insurgentes, n煤mero 187, coma.
161
+
162
+ 02:22.200 --> 02:25.800
163
+ Y ponemos otra propiedad, que ser铆a ciudad.
164
+
165
+ 02:25.800 --> 02:29.000
166
+ Y la ciudad va a ser Ciudad de M茅xico.
167
+
168
+ 02:29.000 --> 02:33.320
169
+ Aqu铆 salimos y como estamos saliendo de
170
+ esta propiedad y
171
+
172
+ 02:33.320 --> 02:36.600
173
+ vamos a colocar m谩s, ponemos una coma.
174
+
175
+ 02:36.600 --> 02:39.360
176
+ Y ahora vamos a construir un m茅todo que se
177
+ va a llamar
178
+
179
+ 02:39.360 --> 02:40.520
180
+ saludar.
181
+
182
+ 02:40.520 --> 02:43.720
183
+ Y esto vamos a utilizar la estructura que
184
+ conocemos ya de
185
+
186
+ 02:43.720 --> 02:45.920
187
+ poder generar una
188
+ funci贸n.
189
+
190
+ 02:45.920 --> 02:49.440
191
+ Entonces el saludar lo que va a hacer es
192
+ console.log y va a
193
+
194
+ 02:49.440 --> 02:52.520
195
+ decir pr谩cticamente hola mi nombre es y
196
+ vamos a hacer
197
+
198
+ 02:52.520 --> 02:55.960
199
+ referencia al nombre de nuestro objeto
200
+ persona.
201
+
202
+ 02:55.960 --> 02:59.360
203
+ Para poder utilizar esta propiedad como
204
+ variable,
205
+
206
+ 02:59.360 --> 03:02.360
207
+ porque hay un valor aqu铆, tenemos que
208
+ utilizar estas
209
+
210
+ 03:02.360 --> 03:05.120
211
+ comillas.
212
+
213
+ 03:05.120 --> 03:12.720
214
+ Y con esto le ponemos hola, mi nombre es,
215
+ ponemos pesitos,
216
+
217
+ 03:12.720 --> 03:20.520
218
+ y persona.nombre, porque estamos mandando
219
+ llamar el valor de la
220
+
221
+ 03:20.520 --> 03:23.640
222
+ propiedad de nombre que le pertenece al
223
+ objeto de
224
+
225
+ 03:23.640 --> 03:24.520
226
+ persona.
227
+
228
+ 03:24.520 --> 03:28.760
229
+ As铆 que con esto aqu铆 ya nosotros podemos
230
+ pr谩cticamente
231
+
232
+ 03:28.760 --> 03:31.200
233
+ imprimir el
234
+ nombre.
235
+
236
+ 03:31.200 --> 03:33.760
237
+ Scope out de aqu铆, aqu铆 no est谩 marcando
238
+ aqu铆 un error,
239
+
240
+ 03:33.760 --> 03:35.040
241
+ yo puse
242
+ nombre.
243
+
244
+ 03:35.040 --> 03:38.340
245
+ Pero si vemos el error, aqu铆 nos dice que
246
+ no existe la
247
+
248
+ 03:38.340 --> 03:39.560
249
+ propiedad
250
+ nombre.
251
+
252
+ 03:39.560 --> 03:42.800
253
+ Entonces si venimos ac谩 podemos ver que
254
+ aqu铆 no se escribi贸
255
+
256
+ 03:42.800 --> 03:46.120
257
+ bien nombre, ya, el error no existe.
258
+
259
+ 03:46.120 --> 03:48.160
260
+ Entonces ponemos
261
+ coma.
262
+
263
+ 03:48.160 --> 03:51.440
264
+ Y si guardamos, perfecto, ya tenemos aqu铆
265
+ la estructura de
266
+
267
+ 03:51.440 --> 03:53.800
268
+ lo que ser铆a nuestro objeto persona.
269
+
270
+ 03:53.800 --> 03:59.720
271
+ Vamos a imprimirla, console.log, y aqu铆
272
+ vamos a imprimir
273
+
274
+ 03:59.720 --> 04:02.400
275
+ persona.coma.
276
+
277
+ 04:02.400 --> 04:06.120
278
+ Si guardamos, podemos ver aqu铆 que ya
279
+ tenemos la impresi贸n de
280
+
281
+ 04:06.120 --> 04:09.640
282
+ nuestro objeto, donde tenemos el nombre,
283
+ tenemos la direcci贸n,
284
+
285
+ 04:09.640 --> 04:12.320
286
+ que es un peque帽o objeto, tenemos la edad,
287
+
288
+ 04:12.320 --> 04:15.560
289
+ y tenemos aqu铆 nuestro m茅todo de saludar.
290
+
291
+ 04:15.560 --> 04:20.280
292
+ Ahora que tenemos nuestro objeto, vamos a
293
+ imprimirlo.
294
+
295
+ 04:20.280 --> 04:24.120
296
+ Ponemos persona y guardamos nuestro archivo.
297
+
298
+ 04:24.120 --> 04:27.040
299
+ Y con esto ya podemos ver aqu铆 en terminal
300
+ que ya se imprime
301
+
302
+ 04:27.040 --> 04:28.000
303
+ nuestro
304
+ objeto.
305
+
306
+ 04:28.000 --> 04:31.000
307
+ Tenemos el nombre, tenemos la edad y
308
+ tenemos el objeto
309
+
310
+ 04:31.000 --> 04:34.080
311
+ anitado, que es la direcci贸n, que viene
312
+ con calle y que viene
313
+
314
+ 04:34.080 --> 04:35.080
315
+ con
316
+ ciudad.
317
+
318
+ 04:35.080 --> 04:36.840
319
+ De igual forma, tenemos aqu铆 el m茅todo,
320
+
321
+ 04:36.840 --> 04:39.600
322
+ que para poder entonces ver el m茅todo,
323
+ imprimirlo,
324
+
325
+ 04:39.600 --> 04:45.520
326
+ simplemente vamos a llamar nuestro objeto
327
+ persona.saludar.
328
+
329
+ 04:45.520 --> 04:48.240
330
+ Y como es una funci贸n, la cerramos con esto.
331
+
332
+ 04:48.240 --> 04:49.520
333
+ Y
334
+ guardamos.
335
+
336
+ 04:49.520 --> 04:51.680
337
+ Y tenemos aqu铆 un error que nos dice,
338
+
339
+ 04:51.680 --> 04:58.080
340
+ la referencia del error es log is not
341
+ defined en la l铆nea 24.
342
+
343
+ 04:58.080 --> 05:00.600
344
+ Si venimos aqu铆, podemos ver que la l铆nea 24,
345
+
346
+ 05:00.600 --> 05:03.800
347
+ tenemos nuestro console, coma y un espacio.
348
+
349
+ 05:03.800 --> 05:05.120
350
+ Evidentemente, esto no est谩
351
+ bien.
352
+
353
+ 05:05.120 --> 05:06.600
354
+ Ponemos el punto,
355
+ log.
356
+
357
+ 05:06.600 --> 05:09.440
358
+ Entonces, si guardamos, ya tenemos nuestro
359
+ objeto.
360
+
361
+ 05:09.440 --> 05:14.200
362
+ Y ya tenemos aqu铆 entonces nuestro m茅todo
363
+ que dice, hola,
364
+
365
+ 05:14.200 --> 05:18.740
366
+ mi nombre es John, que hace referencia al
367
+ nombre de la
368
+
369
+ 05:18.740 --> 05:23.200
370
+ propiedad de nuestro objeto,
371
+ John.
372
+
373
+ 05:23.200 --> 05:25.280
374
+ Ahora lo que vamos a hacer es un perfecto.
375
+
376
+ 05:25.280 --> 05:27.640
377
+ 驴Qu茅 pasa si ya tengo este objeto
378
+ creado?
379
+
380
+ 05:27.640 --> 05:30.440
381
+ Pero en el camino me doy cuenta que
382
+ necesito agregar o nuevas
383
+
384
+ 05:30.440 --> 05:32.920
385
+ propiedades o nuevos
386
+ m茅todos.
387
+
388
+ 05:32.920 --> 05:36.560
389
+ Entonces, para poderlo hacer es tan
390
+ sencillo como venir,
391
+
392
+ 05:36.560 --> 05:41.480
393
+ tomar nuestro objeto persona y poder punto
394
+ y agregarle la nueva
395
+
396
+ 05:41.480 --> 05:45.360
397
+ propiedad, que en este caso va a ser tel茅fono.
398
+
399
+ 05:45.360 --> 05:49.000
400
+ Y el tel茅fono va a ser igual a, y aqu铆 es
401
+ donde vamos a poner
402
+
403
+ 05:49.000 --> 05:50.760
404
+ la informaci贸n que estamos requiriendo,
405
+ que en este caso
406
+
407
+ 05:50.760 --> 05:57.280
408
+ va a ser 555, 555, 555,
409
+ 5.
410
+
411
+ 05:57.280 --> 05:57.840
412
+ Perfecto.
413
+
414
+ 05:57.840 --> 06:00.240
415
+ Y cerramos con punto y
416
+ coma.
417
+
418
+ 06:00.240 --> 06:06.400
419
+ Para poder asegurarnos que esto se guarde,
420
+ console.log.
421
+
422
+ 06:06.400 --> 06:12.920
423
+ Entonces, aqu铆 mandamos llamar persona.
424
+ tel茅fono.coma.
425
+
426
+ 06:12.920 --> 06:14.720
427
+ Guardamos.
428
+
429
+ 06:14.720 --> 06:17.360
430
+ Y podemos ver aqu铆 que ya se imprime
431
+ autom谩ticamente nuestro
432
+
433
+ 06:17.360 --> 06:18.280
434
+ tel茅fono.
435
+
436
+ 06:18.280 --> 06:21.200
437
+ Si venimos ac谩 y abrimos nuestro objeto,
438
+
439
+ 06:21.200 --> 06:24.120
440
+ vemos que ya se est谩 agregando esta propiedad.
441
+
442
+ 06:24.120 --> 06:25.960
443
+ Ahora, esto es para agregar propiedades.
444
+
445
+ 06:25.960 --> 06:29.000
446
+ Pero si yo quiero agregar un nuevo m茅todo,
447
+
448
+ 06:29.000 --> 06:30.520
449
+ lo vamos a hacer de esta
450
+ forma.
451
+
452
+ 06:30.520 --> 06:34.400
453
+ Llegamos aqu铆, de igual forma, tomamos
454
+ nuestro objeto persona
455
+
456
+ 06:34.400 --> 06:38.800
457
+ punto y agregamos la propiedad como si
458
+ fuera una funci贸n.
459
+
460
+ 06:38.800 --> 06:42.760
461
+ Despedir, que va a ser igual a una funci贸n
462
+ an贸nima.
463
+
464
+ 06:42.760 --> 06:46.760
465
+ Y esta funci贸n, esta arrow function, m谩s bien.
466
+
467
+ 06:46.760 --> 06:47.680
468
+ Tenemos
469
+ esto.
470
+
471
+ 06:47.680 --> 06:50.640
472
+ Y aqu铆 vamos a agregar lo que estamos
473
+ buscando.
474
+
475
+ 06:50.640 --> 06:52.600
476
+ Console.log.
477
+
478
+ 06:52.600 --> 06:59.200
479
+ Y lo que vamos a poner aqu铆 va a ser un adi贸s.
480
+
481
+ 07:02.720 --> 07:05.360
482
+ Vamos a guardar nuestro
483
+ objeto.
484
+
485
+ 07:05.360 --> 07:09.600
486
+ Y ahora, como lo hicimos en la parte de
487
+ ac谩 con este m茅todo,
488
+
489
+ 07:09.600 --> 07:11.080
490
+ en vez de utilizar un
491
+ console.log,
492
+
493
+ 07:11.080 --> 07:15.440
494
+ simplemente vamos a poner persona punto
495
+ despedir.
496
+
497
+ 07:20.840 --> 07:21.940
498
+ Guardamos.
499
+
500
+ 07:21.940 --> 07:25.600
501
+ Y tenemos ya aqu铆 nuestra funci贸n que
502
+ estamos agregando.
503
+
504
+ 07:25.600 --> 07:27.920
505
+ Nuestro nuevo m茅todo que se est谩 agregando
506
+ si abrimos nuestro
507
+
508
+ 07:27.920 --> 07:28.440
509
+ objeto.
510
+
511
+ 07:28.440 --> 07:32.280
512
+ Podemos ver ahora que tenemos el despedir
513
+ y que tenemos el
514
+
515
+ 07:32.280 --> 07:35.760
516
+ saludar, que se est谩n agregando de forma
517
+ independiente a
518
+
519
+ 07:35.760 --> 07:39.160
520
+ nuestro objeto una vez que el objeto ya
521
+ fue creado.
522
+
523
+ 07:39.160 --> 07:41.320
524
+ Ahora, t煤 te puedes preguntar, como perfecto,
525
+ Diego,
526
+
527
+ 07:41.320 --> 07:43.480
528
+ ya s茅 c贸mo generar un
529
+ objeto.
530
+
531
+ 07:43.480 --> 07:45.880
532
+ Ahora ya s茅 una vez que el objeto fue creado,
533
+
534
+ 07:45.880 --> 07:48.280
535
+ si tengo que agregar ciertas propiedades o
536
+ tengo que agregar
537
+
538
+ 07:48.280 --> 07:50.520
539
+ ciertos m茅todos, c贸mo
540
+ hacerlo.
541
+
542
+ 07:50.520 --> 07:52.600
543
+ Pero, 驴qu茅 pasa si de repente ya no tengo
544
+ que agregar,
545
+
546
+ 07:52.600 --> 07:55.400
547
+ sino m谩s bien tengo que borrar propiedades
548
+ y m茅todos?
549
+
550
+ 07:55.400 --> 07:58.360
551
+ La forma de poder borrar propiedades y
552
+ m茅todos es
553
+
554
+ 07:58.360 --> 08:01.240
555
+ llegamos y vamos a utilizar una palabra
556
+ reservada que se llama
557
+
558
+ 08:01.240 --> 08:02.400
559
+ deletes.
560
+
561
+ 08:02.400 --> 08:06.280
562
+ Vamos a mandar llamar nuestro objeto con
563
+ el punto y vamos
564
+
565
+ 08:06.280 --> 08:10.040
566
+ a mandar llamar la propiedad que
567
+ necesitamos borrar.
568
+
569
+ 08:10.040 --> 08:12.920
570
+ Tel茅fono.
571
+
572
+ 08:12.920 --> 08:17.760
573
+ Si guardamos, en este momento, si yo vengo
574
+ aqu铆 y abro,
575
+
576
+ 08:17.760 --> 08:20.280
577
+ nos vamos a dar cuenta que ya no tengo
578
+ nuestra propiedad de
579
+
580
+ 08:20.280 --> 08:21.360
581
+ tel茅fono en este
582
+ momento.
583
+
584
+ 08:21.360 --> 08:24.480
585
+ Ya no tiene caso que yo utilice un control
586
+ log para poder verlo.
587
+
588
+ 08:24.480 --> 08:27.480
589
+ Yo ya tengo aqu铆, como al inicio estoy
590
+ mandando llamar este
591
+
592
+ 08:27.480 --> 08:30.720
593
+ objeto, puedo ver que la propiedad ya no
594
+ existe.
595
+
596
+ 08:30.720 --> 08:33.560
597
+ Si queremos borrar ahora un m茅todo, va a
598
+ ser lo mismo.
599
+
600
+ 08:33.560 --> 08:37.760
601
+ Vamos a utilizar deletes punto, m谩s bien,
602
+
603
+ 08:37.760 --> 08:43.960
604
+ deletes espacio persona punto y la
605
+ propiedad que quiero borrar
606
+
607
+ 08:43.960 --> 08:45.800
608
+ es
609
+ pedir.
610
+
611
+ 08:45.800 --> 08:46.920
612
+ Punto y
613
+ coma.
614
+
615
+ 08:46.920 --> 08:49.280
616
+ Si guardo nuestro c贸digo y venimos aqu铆,
617
+
618
+ 08:49.280 --> 08:51.560
619
+ que est谩 imprimiendo tambi茅n el c贸digo,
620
+
621
+ 08:51.560 --> 08:55.600
622
+ podemos ver que tampoco ya existe el
623
+ m茅todo de despedir,
624
+
625
+ 08:55.600 --> 08:58.800
626
+ solo existe el m茅todo de saludar y existen
627
+ los par谩metros que
628
+
629
+ 08:58.800 --> 09:01.240
630
+ utilizamos al momento de que creamos
631
+ nuestro objeto,
632
+
633
+ 09:01.240 --> 09:03.760
634
+ que viene la direcci贸n, que es un objeto
635
+ anidado,
636
+
637
+ 09:03.760 --> 09:20.800
638
+ viene la edad y viene el
639
+ nombre.
640
+
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/02-index_1e469f9b-6fdc-4de4-9e66-cba3a484b09b.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+
3
+ estructura de datos
4
+
5
+ key / value
6
+
7
+ objeto {
8
+ propiedad: valor,
9
+ propiedad: valor,
10
+ propiedad: valor
11
+ Metodos()
12
+ }
13
+
14
+ */
15
+
16
+ const persona = {
17
+ nombre: "John",
18
+ edad: 30,
19
+ direccion: {
20
+ calle: "Av Insurgentre 187",
21
+ ciudad: "CDMX",
22
+ },
23
+ saludar() {
24
+ console.log(`hola, mi nombre es ${persona.nombre}`);
25
+ },
26
+ };
27
+
28
+ // Imprimamos el objeto
29
+
30
+ console.log(persona);
31
+
32
+ // Imprimamos la propiedad nombre
33
+
34
+ console.log(persona.nombre);
35
+
36
+ // Imprimamos el metodo saludar
37
+
38
+ persona.saludar();
39
+
40
+ //
41
+ //
42
+ //
43
+ //
44
+ //
45
+ // Agrergamos una propiedad al objeto en este caso telefono
46
+
47
+ persona.telefono = "555-555-5555";
48
+
49
+ console.log(persona.telefono);
50
+
51
+ // Agregamos un metodo al objeto
52
+
53
+ persona.despedir = () => {
54
+ console.log("Adios");
55
+ };
56
+
57
+ persona.despedir();
58
+
59
+ // Acceder a una propiedad de un objeto anidado / Metodo
60
+
61
+ console.log(persona.direccion.calle);
62
+
63
+ //
64
+ //
65
+ //
66
+ //
67
+ //
68
+ //
69
+ // Eliminar una propiedad de un objeto
70
+
71
+ delete persona.telefono;
72
+
73
+ console.log(persona.telefono);
74
+
75
+ // Eliminar un metodo de un objeto
76
+
77
+ delete persona.despedir;
78
+
79
+ console.log(persona.despedir());
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/03-Funci贸n constructora y gesti贸n de instancias en JavaScript.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7f84ee392c6ec6b1d4c2a52767b3d6365cf5d80ecaf63089112c46e2efc20381
3
+ size 128896729
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/03-Funci贸n constructora y gesti贸n de instancias en JavaScript.vtt ADDED
@@ -0,0 +1,873 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:04.120
4
+ Como ya vimos, al momento de trabajar objetos,
5
+ por ejemplo,
6
+
7
+ 00:04.120 --> 00:11.320
8
+ el objeto persona, construimos uno que se
9
+ llama persona,
10
+
11
+ 00:11.320 --> 00:13.640
12
+ que va a ser igual a la estructura a la
13
+ cual ya estamos
14
+
15
+ 00:13.640 --> 00:15.120
16
+ familiarizado.
17
+
18
+ 00:15.120 --> 00:19.280
19
+ Tenemos el nombre igual a
20
+ Diego.
21
+
22
+ 00:19.280 --> 00:20.120
23
+ Todo esto
24
+ funciona.
25
+
26
+ 00:20.120 --> 00:26.400
27
+ Tenemos apellido igual a de
28
+ granda.
29
+
30
+ 00:26.400 --> 00:28.600
31
+ Y podremos tener m谩s
32
+ propiedades.
33
+
34
+ 00:28.600 --> 00:32.160
35
+ Pero, 驴qu茅 pasa si, por ejemplo, ahorita
36
+ ya tenemos un objeto y
37
+
38
+ 00:32.160 --> 00:36.400
39
+ nosotros necesitamos construir de este
40
+ objeto 500 personas?
41
+
42
+ 00:36.400 --> 00:37.820
43
+ 驴Qu茅 es lo que tendr铆as que
44
+ hacer?
45
+
46
+ 00:37.820 --> 00:40.280
47
+ 驴Tendr铆as que copiar y pegar este c贸digo
48
+ 500 veces para
49
+
50
+ 00:40.280 --> 00:42.240
51
+ poderlo hacer nada m谩s de que cambias el
52
+ nombre?
53
+
54
+ 00:42.240 --> 00:43.280
55
+ Esto no es
56
+ funcional.
57
+
58
+ 00:43.280 --> 00:44.880
59
+ Esto no es
60
+ escalable.
61
+
62
+ 00:44.880 --> 00:48.920
63
+ Para poder asegurarnos de que nosotros
64
+ tengamos o podamos
65
+
66
+ 00:48.920 --> 00:52.920
67
+ construir la cantidad de objetos que
68
+ necesitemos sin tener que
69
+
70
+ 00:52.920 --> 00:56.080
71
+ estar copiando, pegando y asegurarnos
72
+ cambiar el nombre,
73
+
74
+ 00:56.080 --> 00:58.740
75
+ tenemos que utilizar una funci贸n que se
76
+ llama funci贸n
77
+
78
+ 00:58.740 --> 01:01.840
79
+ constructora, que el 煤nico objetivo que
80
+ tiene es poder
81
+
82
+ 01:01.840 --> 01:03.320
83
+ construir
84
+ objetos.
85
+
86
+ 01:03.320 --> 01:07.080
87
+ Y para esto, como ya te coment茅, esto es
88
+ una funci贸n.
89
+
90
+ 01:07.080 --> 01:09.960
91
+ Y esta funci贸n va a tener la misma
92
+ estructura de las
93
+
94
+ 01:09.960 --> 01:12.040
95
+ funciones de las cuales ya estamos
96
+ familiarizados,
97
+
98
+ 01:12.040 --> 01:15.560
99
+ nada m谩s que el nombre de la funci贸n va a
100
+ ser el nombre de
101
+
102
+ 01:15.560 --> 01:17.880
103
+ nuestro objeto que tiene que construir.
104
+
105
+ 01:17.880 --> 01:22.120
106
+ En este caso, va a tener una peculiaridad
107
+ que va a iniciar
108
+
109
+ 01:22.120 --> 01:25.880
110
+ con may煤scula esa
111
+ funci贸n.
112
+
113
+ 01:25.880 --> 01:27.800
114
+ Ser铆a en este queremos construir, por ejemplo,
115
+
116
+ 01:27.800 --> 01:29.360
117
+ personas.
118
+
119
+ 01:29.360 --> 01:32.600
120
+ Entonces, nuestra funci贸n constructora va
121
+ a iniciar con
122
+
123
+ 01:32.600 --> 01:36.400
124
+ function may煤scula
125
+ persona.
126
+
127
+ 01:36.400 --> 01:39.680
128
+ Y aqu铆 continuamos como si estuvi茅ramos
129
+ haciendo una
130
+
131
+ 01:39.680 --> 01:43.800
132
+ funci贸n en el cual tenemos los par茅ntesis
133
+ y tenemos nuestros
134
+
135
+ 01:43.800 --> 01:44.400
136
+ corchetes.
137
+
138
+ 01:44.400 --> 01:47.920
139
+ Y adentro de los par茅ntesis vamos a
140
+ agregar estas
141
+
142
+ 01:47.920 --> 01:49.600
143
+ propiedades que
144
+ necesitamos.
145
+
146
+ 01:49.600 --> 01:51.400
147
+ Porque cuando vamos a hacer la funci贸n,
148
+
149
+ 01:51.400 --> 01:54.440
150
+ pues tenemos que agregarle las propiedades
151
+ para que entonces
152
+
153
+ 01:54.440 --> 01:57.200
154
+ la funci贸n pueda construir nuestro objeto.
155
+
156
+ 01:57.200 --> 02:01.000
157
+ Entonces, aqu铆 necesitamos, por ejemplo,
158
+ el nombre.
159
+
160
+ 02:01.000 --> 02:03.800
161
+ Necesitamos el
162
+ apellido.
163
+
164
+ 02:03.800 --> 02:06.880
165
+ Y necesitamos, vamos a ponerle una edad
166
+ para poder construir
167
+
168
+ 02:06.880 --> 02:08.920
169
+ nuestra
170
+ persona.
171
+
172
+ 02:08.920 --> 02:13.360
173
+ Entonces, tenemos una funci贸n que tiene el
174
+ nombre del objeto
175
+
176
+ 02:13.360 --> 02:16.440
177
+ que queremos empezar a construir de forma
178
+ mucho m谩s masiva,
179
+
180
+ 02:16.440 --> 02:18.440
181
+ que tiene que iniciar con may煤scula.
182
+
183
+ 02:18.440 --> 02:22.600
184
+ Y aqu铆 vamos a pasarle como par谩metros las
185
+ propiedades que
186
+
187
+ 02:22.600 --> 02:24.120
188
+ van a construir ese
189
+ objeto.
190
+
191
+ 02:24.120 --> 02:28.040
192
+ Entonces, si venimos aqu铆, vamos a poner
193
+ una estructura
194
+
195
+ 02:28.040 --> 02:30.680
196
+ similar donde tendr铆amos el
197
+ nombre.
198
+
199
+ 02:30.680 --> 02:32.400
200
+ Y el nombre ser铆a
201
+ igual.
202
+
203
+ 02:32.400 --> 02:36.480
204
+ Esa es una funci贸n, recuerdan, no es
205
+ similar a la forma en la
206
+
207
+ 02:36.480 --> 02:39.920
208
+ que construimos un objeto, sino esto va a
209
+ construir estos
210
+
211
+ 02:39.920 --> 02:40.880
212
+ objetos.
213
+
214
+ 02:40.880 --> 02:44.480
215
+ As铆 que ponemos nombre igual a nombre,
216
+
217
+ 02:44.480 --> 02:47.880
218
+ que va a ser referente a este par谩metro
219
+ que estamos nosotros
220
+
221
+ 02:47.880 --> 02:49.560
222
+ utilizando, punto y
223
+ coma.
224
+
225
+ 02:49.560 --> 02:54.100
226
+ Pero aqu铆 tenemos una peculiaridad que
227
+ tendremos que
228
+
229
+ 02:54.100 --> 02:58.840
230
+ iniciar con el this, punto, porque el this
231
+ hace referencia
232
+
233
+ 02:58.840 --> 03:01.040
234
+ a este
235
+ objeto.
236
+
237
+ 03:01.040 --> 03:04.920
238
+ Entonces, ponemos este objeto, el nombre
239
+ de este objeto va a
240
+
241
+ 03:04.920 --> 03:08.360
242
+ ser igual al nombre que nos pasen como
243
+ par谩metro.
244
+
245
+ 03:08.360 --> 03:10.320
246
+ Y con eso terminamos la
247
+ estructura.
248
+
249
+ 03:10.320 --> 03:11.400
250
+ Vamos en el
251
+ otro.
252
+
253
+ 03:11.400 --> 03:17.000
254
+ Ser铆a this, punto, apellido, igual a apellido,
255
+
256
+ 03:17.000 --> 03:20.240
257
+ que hace referencia al par谩metro que nos
258
+ van a pasar.
259
+
260
+ 03:20.240 --> 03:27.680
261
+ Y terminamos con this, punto,
262
+ edad,
263
+
264
+ 03:27.680 --> 03:30.360
265
+ que va a ser igual a edad como el
266
+ par谩metro que nos va a
267
+
268
+ 03:30.360 --> 03:31.280
269
+ pasar.
270
+
271
+ 03:31.280 --> 03:34.860
272
+ Entonces, esta es la estructura de c贸mo
273
+ construimos una funci贸n
274
+
275
+ 03:34.860 --> 03:35.960
276
+ constructora.
277
+
278
+ 03:35.960 --> 03:39.680
279
+ Si nosotros queremos ahora empezar a
280
+ construir objetos
281
+
282
+ 03:39.680 --> 03:42.800
283
+ utilizando esta funci贸n, la forma de
284
+ hacerlo ser铆a la
285
+
286
+ 03:42.800 --> 03:44.060
287
+ siguiente.
288
+
289
+ 03:44.060 --> 03:45.860
290
+ Tenemos que generar una
291
+ instancia.
292
+
293
+ 03:45.860 --> 03:49.800
294
+ As铆 se le llama a todos los objetos que
295
+ vengan de esta
296
+
297
+ 03:49.800 --> 03:52.480
298
+ funci贸n constructora, se van a llamar
299
+ instancias.
300
+
301
+ 03:52.480 --> 03:55.380
302
+ Y la forma de hacerlo es, empezamos con un
303
+ const,
304
+
305
+ 03:55.380 --> 03:58.740
306
+ que va a ser persona1, por
307
+ ejemplo.
308
+
309
+ 03:58.740 --> 04:01.400
310
+ Y esto vamos a utilizar una palabra
311
+ reservada que se llama
312
+
313
+ 04:01.400 --> 04:02.420
314
+ new.
315
+
316
+ 04:02.420 --> 04:05.280
317
+ Y despu茅s mandamos llamar nuestra funci贸n
318
+ constructora
319
+
320
+ 04:05.280 --> 04:07.240
321
+ con los par谩metros que nos interesan.
322
+
323
+ 04:07.240 --> 04:10.520
324
+ Entonces, nuestra primera persona se va a
325
+ llamar Juan,
326
+
327
+ 04:10.520 --> 04:15.800
328
+ coma, su apellido va a ser P茅rez, coma,
329
+
330
+ 04:15.800 --> 04:19.400
331
+ y su edad va a ser 30 a帽os, punto y coma,
332
+
333
+ 04:19.400 --> 04:22.840
334
+ para poder ver que esta persona se gener贸
335
+ o se cre贸 de forma
336
+
337
+ 04:22.840 --> 04:25.760
338
+ correcta con su punto
339
+ log.
340
+
341
+ 04:25.760 --> 04:30.880
342
+ Entonces, aqu铆 vamos a mandar llamar persona1,
343
+ punto y coma.
344
+
345
+ 04:30.880 --> 04:33.440
346
+ Ahora, si guardamos nuestro
347
+ c贸digo,
348
+
349
+ 04:33.440 --> 04:36.000
350
+ podemos ver que aqu铆 ya no est谩 regresando.
351
+
352
+ 04:36.000 --> 04:39.120
353
+ Hay una funci贸n, o m谩s bien hay un objeto
354
+ que se llama persona.
355
+
356
+ 04:39.120 --> 04:42.800
357
+ Pero si lo abrimos, podemos ver que este
358
+ objeto persona se
359
+
360
+ 04:42.800 --> 04:44.920
361
+ llama Juan, con el apellido
362
+ P茅rez,
363
+
364
+ 04:44.920 --> 04:47.600
365
+ y tiene la edad de 30
366
+ a帽os.
367
+
368
+ 04:47.600 --> 04:48.240
369
+ Perfecto.
370
+
371
+ 04:48.240 --> 04:50.560
372
+ Ahora, sabemos que ya podemos generar
373
+ instancias.
374
+
375
+ 04:50.560 --> 04:53.640
376
+ Pero entonces, 驴cu谩l es el beneficio de
377
+ hacerlo as铆?
378
+
379
+ 04:53.640 --> 04:54.960
380
+ A hacerlo as铆,
381
+ 驴no?
382
+
383
+ 04:54.960 --> 04:56.080
384
+ Como copiar y
385
+ pegar.
386
+
387
+ 04:56.080 --> 04:58.560
388
+ Bueno, el beneficio es que la siguiente
389
+ vez que yo quisiera
390
+
391
+ 04:58.560 --> 05:02.880
392
+ tener otra persona nueva, va a ser una
393
+ constancia.
394
+
395
+ 05:02.880 --> 05:05.160
396
+ Esta persona va a ser
397
+ persona2.
398
+
399
+ 05:05.160 --> 05:07.720
400
+ Y vamos a copiar la misma estructura con
401
+ la reservada
402
+
403
+ 05:07.720 --> 05:10.520
404
+ new,
405
+ persona.
406
+
407
+ 05:10.520 --> 05:13.520
408
+ Y entonces, ahora, en vez de generar esta
409
+ estructura o
410
+
411
+ 05:13.520 --> 05:16.720
412
+ esta estructura, simplemente mandamos
413
+ llamar nuestra funci贸n
414
+
415
+ 05:16.720 --> 05:19.200
416
+ constructora y solo le pasamos los
417
+ par谩metros que nos
418
+
419
+ 05:19.200 --> 05:22.120
420
+ interesan para esta nueva
421
+ persona.
422
+
423
+ 05:22.120 --> 05:28.760
424
+ Va a ser Diego, coma, su apellido va a ser
425
+ de granda,
426
+
427
+ 05:28.760 --> 05:32.200
428
+ y entonces su edad va a ser 35 a帽os.
429
+
430
+ 05:32.200 --> 05:34.680
431
+ Lo
432
+ tenemos.
433
+
434
+ 05:34.680 --> 05:36.080
435
+ Console.log.
436
+
437
+ 05:36.080 --> 05:40.800
438
+ Y entonces aqu铆, persona2, punto y coma.
439
+
440
+ 05:40.800 --> 05:44.280
441
+ Imprimimos y podemos ver que ahora
442
+ entonces ya tenemos dos
443
+
444
+ 05:44.280 --> 05:47.640
445
+ objetos, uno de nombre Juan, otro de
446
+ nombre Diego.
447
+
448
+ 05:47.640 --> 05:50.840
449
+ Y as铆 podemos empezar a generar las
450
+ personas que nosotros
451
+
452
+ 05:50.840 --> 05:51.880
453
+ necesitemos.
454
+
455
+ 05:51.880 --> 05:55.160
456
+ E incluso pod铆amos hacer una funci贸n que
457
+ pueda automatizar
458
+
459
+ 05:55.160 --> 05:58.320
460
+ este proceso para que solo le pasemos los
461
+ par谩metros que nos
462
+
463
+ 05:58.320 --> 06:01.120
464
+ interesan, inyectarle los par谩metros que
465
+ nos interesan y
466
+
467
+ 06:01.120 --> 06:03.960
468
+ que nos vaya formando tantas personas
469
+ tenga nuestro
470
+
471
+ 06:03.960 --> 06:04.720
472
+ documento.
473
+
474
+ 06:04.720 --> 06:08.360
475
+ Entonces, ahora ya sabemos c贸mo nosotros
476
+ generamos una funci贸n
477
+
478
+ 06:08.360 --> 06:13.000
479
+ constructora y c贸mo podemos generar las
480
+ instancias.
481
+
482
+ 06:13.000 --> 06:15.880
483
+ Y si tu pregunta es, oye, Diego, ahora que
484
+ ya s茅 c贸mo generar
485
+
486
+ 06:15.880 --> 06:19.520
487
+ esta funci贸n constructora, 驴qu茅 pasa si
488
+ tengo que generar una
489
+
490
+ 06:19.520 --> 06:21.080
491
+ propiedad
492
+ despu茅s?
493
+
494
+ 06:21.080 --> 06:23.160
495
+ En el camino me doy cuenta que no solo
496
+ quiero edad,
497
+
498
+ 06:23.160 --> 06:26.160
499
+ sino que tambi茅n quiero el g茅nero o
500
+ incluso quiero su
501
+
502
+ 06:26.160 --> 06:27.640
503
+ direcci贸n.
504
+
505
+ 06:27.640 --> 06:30.160
506
+ 驴Podr铆as venir directamente aqu铆 a la
507
+ funci贸n constructora y
508
+
509
+ 06:30.160 --> 06:32.520
510
+ agregar esa nueva propiedad como
511
+ dis?
512
+
513
+ 06:32.520 --> 06:35.720
514
+ Entonces, asegurarte que aqu铆 en el
515
+ momento de estar como
516
+
517
+ 06:35.720 --> 06:39.880
518
+ construyendo esa instancia, puedas poner
519
+ esa informaci贸n.
520
+
521
+ 06:39.880 --> 06:43.480
522
+ O lo que puedes hacer es utilizar el
523
+ prototype,
524
+
525
+ 06:43.480 --> 06:49.080
526
+ puedes generar o agregar una propiedad al
527
+ prototype de
528
+
529
+ 06:49.080 --> 06:49.760
530
+ persona.
531
+
532
+ 06:49.760 --> 06:51.560
533
+ Y ahorita vamos a ver qu茅 significa eso.
534
+
535
+ 06:51.560 --> 06:53.760
536
+ La forma de hacerlo es, mandamos llamar
537
+ nuestra funci贸n
538
+
539
+ 06:53.760 --> 06:57.800
540
+ constructora, punto, prototype, punto,
541
+
542
+ 06:57.800 --> 06:59.120
543
+ la propiedad que quiero
544
+ agregar.
545
+
546
+ 06:59.120 --> 07:02.800
547
+ Que en este caso ser铆a
548
+ tel茅fono.
549
+
550
+ 07:02.800 --> 07:04.960
551
+ Y aqu铆 vamos a poner un tel茅fono por default,
552
+
553
+ 07:04.960 --> 07:11.560
554
+ que ser铆a
555
+ 555-555-5555.
556
+
557
+ 07:11.560 --> 07:14.080
558
+ Entonces, al momento de poner punto y coma
559
+ y guardar,
560
+
561
+ 07:14.080 --> 07:16.280
562
+ puedo ver que aqu铆 est谩 imprimiendo mis
563
+ dos objetos que
564
+
565
+ 07:16.280 --> 07:18.760
566
+ ya he generado, que son mis dos instancias.
567
+
568
+ 07:18.760 --> 07:21.440
569
+ Al momento de abrir, puedo ver que, bueno,
570
+
571
+ 07:21.440 --> 07:24.480
572
+ aqu铆 no existe la propiedad que yo acabo
573
+ de generar.
574
+
575
+ 07:24.480 --> 07:28.080
576
+ El problema es que, o el punto, es que
577
+ esta propiedad no se
578
+
579
+ 07:28.080 --> 07:31.240
580
+ agrega directamente en la funci贸n
581
+ constructora,
582
+
583
+ 07:31.240 --> 07:33.960
584
+ sino se est谩 agregando al prototipo de la
585
+ funci贸n
586
+
587
+ 07:33.960 --> 07:34.640
588
+ constructora.
589
+
590
+ 07:34.640 --> 07:36.120
591
+ Aqu铆 tenemos
592
+ prototype.
593
+
594
+ 07:36.120 --> 07:39.560
595
+ Y si lo abrimos, podemos ver que aqu铆 est谩
596
+ la propiedad que
597
+
598
+ 07:39.560 --> 07:40.240
599
+ estoy
600
+ agregando.
601
+
602
+ 07:40.240 --> 07:41.000
603
+ 驴Por
604
+ qu茅?
605
+
606
+ 07:41.000 --> 07:44.080
607
+ Porque recordemos que el prototipo es la
608
+ copia de la
609
+
610
+ 07:44.080 --> 07:47.720
611
+ funci贸n constructora que se encarga de
612
+ compartir cada una de
613
+
614
+ 07:47.720 --> 07:51.280
615
+ las propiedades o m茅todos que existen en
616
+ mi funci贸n.
617
+
618
+ 07:51.280 --> 07:54.280
619
+ As铆 que si yo tengo que agregar una nueva
620
+ propiedad o un nuevo
621
+
622
+ 07:54.280 --> 07:57.900
623
+ m茅todo, lo voy a hacer de esta forma para
624
+ asegurarme que el
625
+
626
+ 07:57.900 --> 08:00.880
627
+ prototipo tambi茅n tenga esta informaci贸n
628
+ que estoy
629
+
630
+ 08:00.880 --> 08:04.040
631
+ a帽adiendo y se pueda empezar a compartir
632
+ en las siguientes
633
+
634
+ 08:04.040 --> 08:05.240
635
+ instancias.
636
+
637
+ 08:05.240 --> 08:07.440
638
+ No va a venir directamente desde el
639
+ constructor,
640
+
641
+ 08:07.440 --> 08:10.200
642
+ pero s铆 se va a compartir desde el prototype.
643
+
644
+ 08:10.200 --> 08:13.000
645
+ Pero ahora, 驴qu茅 pasa si yo solo quiero
646
+ agregar una nueva
647
+
648
+ 08:13.000 --> 08:17.160
649
+ propiedad a una instancia en particular
650
+ que yo ya gener茅 y
651
+
652
+ 08:17.160 --> 08:19.400
653
+ no necesito que se comparte entre todas
654
+ las dem谩s
655
+
656
+ 08:19.400 --> 08:20.520
657
+ instancias?
658
+
659
+ 08:20.520 --> 08:23.480
660
+ Entonces, la forma de hacerlo, ya lo
661
+ sabemos hacer, ser铆a,
662
+
663
+ 08:23.480 --> 08:25.160
664
+ vamos a mandar llamar nuestra instancia,
665
+
666
+ 08:25.160 --> 08:31.320
667
+ va a ser persona1, punto, y va a tener una
668
+ nueva informaci贸n
669
+
670
+ 08:31.320 --> 08:37.200
671
+ que va a ser nacion,
672
+ nacionalidad.
673
+
674
+ 08:37.200 --> 08:42.600
675
+ Y en este caso, para esta persona, ser铆a
676
+ mexicano.
677
+
678
+ 08:45.240 --> 08:47.280
679
+ Vamos a
680
+ guardar.
681
+
682
+ 08:47.280 --> 08:51.960
683
+ Entonces, venimos aqu铆, tenemos, por ejemplo,
684
+ persona1.
685
+
686
+ 08:51.960 --> 08:53.600
687
+ Aqu铆 es donde est谩
688
+ Juan.
689
+
690
+ 08:53.600 --> 08:56.720
691
+ Estamos agregando su nueva propiedad,
692
+ que es mexicano.
693
+
694
+ 08:56.720 --> 09:00.680
695
+ Venimos a persona2, Diego, y podemos ver
696
+ que no existe esta
697
+
698
+ 09:00.680 --> 09:05.160
699
+ propiedad en esta instancia, porque a esta
700
+ instancia no se
701
+
702
+ 09:05.160 --> 09:06.320
703
+ la
704
+ agregamos.
705
+
706
+ 09:06.320 --> 09:09.680
707
+ Pero si buscamos en prototipo, aqu铆 sigue
708
+ estando tel茅fono y
709
+
710
+ 09:09.680 --> 09:11.360
711
+ aqu铆 sigue estando
712
+ tel茅fono.
713
+
714
+ 09:11.360 --> 09:13.800
715
+ Y ahora, si lo que queremos agregar,
716
+ por ejemplo,
717
+
718
+ 09:13.800 --> 09:17.280
719
+ en la funci贸n constructora no es una
720
+ propiedad, sino un m茅todo,
721
+
722
+ 09:17.280 --> 09:19.680
723
+ podemos ver que esta funci贸n constructora,
724
+ nosotros,
725
+
726
+ 09:19.680 --> 09:22.360
727
+ no agregamos m茅todos, simplemente propiedades,
728
+
729
+ 09:22.360 --> 09:25.360
730
+ pues la forma de hacerlo de igual forma va
731
+ a ser con el
732
+
733
+ 09:25.360 --> 09:26.280
734
+ prototipo.
735
+
736
+ 09:26.280 --> 09:29.800
737
+ Entonces, llegamos, mandamos llamar
738
+ nuestra funci贸n
739
+
740
+ 09:29.800 --> 09:32.880
741
+ constructora de persona, utilizamos
742
+ nuestra palabra
743
+
744
+ 09:32.880 --> 09:35.280
745
+ reservada de prototype,
746
+ punto.
747
+
748
+ 09:35.280 --> 09:38.320
749
+ Y entonces, aqu铆 vamos a construir una
750
+ funci贸n que se va
751
+
752
+ 09:38.320 --> 09:40.720
753
+ a convertir en el
754
+ m茅todo.
755
+
756
+ 09:40.720 --> 09:43.880
757
+ Saludar, que en este caso va a ser igual a
758
+ una funci贸n
759
+
760
+ 09:43.880 --> 09:44.380
761
+ an贸nima.
762
+
763
+ 09:47.440 --> 09:49.960
764
+ Y la estructura, esta ya la conocemos,
765
+
766
+ 09:49.960 --> 09:51.440
767
+ c贸mo hacer las funciones
768
+ an贸nimas,
769
+
770
+ 09:51.440 --> 09:53.240
771
+ c贸mo generar una
772
+ funci贸n.
773
+
774
+ 09:53.240 --> 09:58.240
775
+ Vamos a poner un
776
+ console.log.
777
+
778
+ 09:58.240 --> 10:00.920
779
+ Y aqu铆 vamos a utilizar, por ejemplo,
780
+
781
+ 10:00.920 --> 10:05.080
782
+ el nombre de cada una de las instancias
783
+ que estamos creando
784
+
785
+ 10:05.080 --> 10:07.240
786
+ para que se imprima de forma independiente.
787
+
788
+ 10:07.240 --> 10:11.520
789
+ Y entonces, vamos a utilizar nuestras
790
+ comillas para poder
791
+
792
+ 10:11.520 --> 10:12.800
793
+ utilizar las
794
+ variables.
795
+
796
+ 10:12.800 --> 10:17.400
797
+ Y entonces, aqu铆 ponemos, hola, coma,
798
+ me llamo.
799
+
800
+ 10:17.400 --> 10:21.200
801
+ Y entonces, vamos a poner
802
+ besitos,
803
+
804
+ 10:21.200 --> 10:23.080
805
+ vamos a poner nuestros
806
+ corchetes.
807
+
808
+ 10:23.080 --> 10:25.520
809
+ Y entonces, aqu铆 vamos a utilizar el dis,
810
+
811
+ 10:25.520 --> 10:28.120
812
+ porque el dis, recordemos, que hace
813
+ referencia a la funci贸n
814
+
815
+ 10:28.120 --> 10:34.040
816
+ constructora misma para poder mandar
817
+ llamar el valor de la
818
+
819
+ 10:34.040 --> 10:36.160
820
+ variable que estamos buscando en este momento.
821
+
822
+ 10:36.160 --> 10:41.160
823
+ Entonces, ser铆a
824
+ dis.nombre.
825
+
826
+ 10:41.160 --> 10:43.000
827
+ Y vamos a tambi茅n agregarle el apellido.
828
+
829
+ 10:45.800 --> 10:51.480
830
+ Y ser铆a
831
+ dis.apellido.
832
+
833
+ 10:51.480 --> 10:57.720
834
+ Entonces, si guardamos aqu铆, si venimos ac谩,
835
+
836
+ 10:57.720 --> 11:01.000
837
+ aqu铆 de igual forma, pues no lo vamos a
838
+ ver visible en la
839
+
840
+ 11:01.000 --> 11:02.200
841
+ funci贸n
842
+ constructora.
843
+
844
+ 11:02.200 --> 11:05.600
845
+ Si abrimos el prototipo, podemos ver que
846
+ ya existe el m茅todo de
847
+
848
+ 11:05.600 --> 11:06.600
849
+ saludar.
850
+
851
+ 11:06.600 --> 11:10.040
852
+ Y la forma de ver si realmente lo tiene
853
+ cada una de nuestras
854
+
855
+ 11:10.040 --> 11:20.080
856
+ instancias, pues es un, vamos a mandar
857
+ llamar persona1.saludar.
858
+
859
+ 11:20.080 --> 11:23.520
860
+ Y
861
+ persona2.saludar.
862
+
863
+ 11:28.760 --> 11:32.440
864
+ Entonces, si guardamos aqu铆, podemos ver
865
+ que de persona1 es,
866
+
867
+ 11:32.440 --> 11:33.680
868
+ hola, me llamo Juan
869
+ P茅rez.
870
+
871
+ 11:33.680 --> 11:50.720
872
+ Y persona2, hola, me llamo Diego de Granda.
873
+
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/03-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-Clases en JavaScript Creaci贸n y Uso de Objetos con Sintaxis Moderna.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38b66525bce56af6eb79e35633e4355d8e1d6e83925fab4525181356bc0646b0
3
+ size 40687964
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-Clases en JavaScript Creaci贸n y Uso de Objetos con Sintaxis Moderna.vtt ADDED
@@ -0,0 +1,408 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00.000 --> 00:04.760
4
+ A partir de 2015, JavaScript present贸 una
5
+ nueva forma de construir clases.
6
+
7
+ 00:04.760 --> 00:08.360
8
+ Y no es algo completamente nuevo o
9
+ diferente de la forma en la que conocemos,
10
+
11
+ 00:08.360 --> 00:10.120
12
+ que ser铆a una funci贸n
13
+ constructora.
14
+
15
+ 00:10.120 --> 00:15.840
16
+ Simplemente es una forma que se asemeja
17
+ mucho a otros lenguajes de programaci贸n,
18
+
19
+ 00:15.840 --> 00:20.280
20
+ por ejemplo Java, que son lenguajes mucho
21
+ m谩s orientados a objetos,
22
+
23
+ 00:20.280 --> 00:22.040
24
+ reales orientados a
25
+ objetos.
26
+
27
+ 00:22.040 --> 00:25.560
28
+ Podemos decir que una clase de esta nueva
29
+ estructura es un Sugar Syntax,
30
+
31
+ 00:25.560 --> 00:28.840
32
+ en lo que ya nosotros conocemos para poder
33
+ generar objetos.
34
+
35
+ 00:28.840 --> 00:30.680
36
+ Pero entonces, 驴qu茅 es una
37
+ clase?
38
+
39
+ 00:30.680 --> 00:33.760
40
+ Una clase es como si tuvi茅ramos un Blueprint,
41
+
42
+ 00:33.760 --> 00:38.640
43
+ que pr谩cticamente es generar el molde del
44
+ cual se van a construir diferentes objetos.
45
+
46
+ 00:38.640 --> 00:42.720
47
+ Vamos a pasar entonces a nuestro editor de
48
+ texto.
49
+
50
+ 00:42.720 --> 00:45.800
51
+ Si estamos aqu铆, como te estaba comentando,
52
+
53
+ 00:45.800 --> 00:50.120
54
+ una clase es pr谩cticamente como un molde
55
+ que nosotros vamos a construir
56
+
57
+ 00:50.120 --> 00:52.280
58
+ para poder crear nuevos
59
+ objetos.
60
+
61
+ 00:52.280 --> 00:55.800
62
+ Es como una funci贸n constructora, pero con
63
+ una sintaxis distinta.
64
+
65
+ 00:55.800 --> 01:00.080
66
+ Para poder comenzar con las clases,
67
+ nosotros vamos a utilizar una palabra reservada
68
+
69
+ 01:00.080 --> 01:02.320
70
+ que se llama
71
+ class.
72
+
73
+ 01:02.320 --> 01:06.000
74
+ Ahora esa es la palabra que utilizamos
75
+ para comenzar con las clases.
76
+
77
+ 01:06.000 --> 01:10.000
78
+ Y similar a como se utiliza, por ejemplo,
79
+ con una funci贸n constructora,
80
+
81
+ 01:10.000 --> 01:12.800
82
+ es el nombre de lo que va a ser nuestra clase.
83
+
84
+ 01:12.800 --> 01:18.360
85
+ Iniciamos con una letra en may煤scula.
86
+
87
+ 01:18.360 --> 01:22.800
88
+ Esta clase se va a llamar persona, porque
89
+ de aqu铆 voy a construir m谩s personas.
90
+
91
+ 01:22.800 --> 01:25.120
92
+ Y ponemos nuestros
93
+ corchetes.
94
+
95
+ 01:25.120 --> 01:28.200
96
+ Y ya que estamos ac谩, lo primero que
97
+ tenemos que hacer es
98
+
99
+ 01:28.200 --> 01:31.440
100
+ vamos a sacar un m茅todo, que es un m茅todo
101
+ constructor.
102
+
103
+ 01:31.440 --> 01:37.080
104
+ Que esto define c贸mo se deben configurar
105
+ las propiedades de este objeto.
106
+
107
+ 01:37.080 --> 01:42.200
108
+ De los objetos que vengan de esta clase,
109
+ este m茅todo constructor
110
+
111
+ 01:42.200 --> 01:46.760
112
+ va a definir c贸mo se deben de configurar
113
+ estas propiedades del objeto
114
+
115
+ 01:46.760 --> 01:50.040
116
+ y puede recibir argumentos para
117
+ personalizar la iniciaci贸n.
118
+
119
+ 01:50.040 --> 01:53.240
120
+ Quiere decir que, como es un m茅todo tipo
121
+ funci贸n,
122
+
123
+ 01:53.240 --> 01:59.000
124
+ aqu铆 voy a poner los argumentos que
125
+ requiero para poder formar mi persona.
126
+
127
+ 01:59.000 --> 02:03.680
128
+ Que en este caso va a ser un nombre,
129
+ por ejemplo, y edad.
130
+
131
+ 02:03.680 --> 02:05.640
132
+ Aqu铆 lo
133
+ tengo.
134
+
135
+ 02:05.640 --> 02:11.320
136
+ Entonces aqu铆 voy a empezar a formar la
137
+ estructura de lo que va a generar mi
138
+
139
+ 02:11.320 --> 02:13.840
140
+ clase, de c贸mo se va a crear mi clase.
141
+
142
+ 02:13.840 --> 02:17.000
143
+ Y vamos a reutilizar esta palabra reservada,
144
+ this,
145
+
146
+ 02:17.000 --> 02:22.320
147
+ que como platic谩bamos, this es una palabra
148
+ reservada que hace referencia
149
+
150
+ 02:22.320 --> 02:23.840
151
+ a la misma
152
+ clase.
153
+
154
+ 02:23.840 --> 02:29.000
155
+ Entonces, en este caso es this.nombre,
156
+ como el nombre de esta clase,
157
+
158
+ 02:29.000 --> 02:33.480
159
+ en este caso es persona, va a ser igual a
160
+ el nombre que me pasen como
161
+
162
+ 02:33.480 --> 02:35.920
163
+ par谩metro.
164
+
165
+ 02:35.920 --> 02:36.840
166
+ Perfecto.
167
+
168
+ 02:36.840 --> 02:37.800
169
+ Punto y
170
+ coma.
171
+
172
+ 02:37.800 --> 02:39.440
173
+ Y vamos a utilizar
174
+ edad.
175
+
176
+ 02:39.440 --> 02:43.320
177
+ this.edad, que es la edad de esta clase,
178
+
179
+ 02:43.320 --> 02:47.520
180
+ va a ser igual a edad que me pasen como
181
+ referencia una vez que yo genere
182
+
183
+ 02:47.520 --> 02:50.000
184
+ la nueva
185
+ instancia.
186
+
187
+ 02:50.000 --> 02:53.640
188
+ Porque vamos a utilizar al momento de
189
+ generar una nueva instancia,
190
+
191
+ 02:53.640 --> 02:57.120
192
+ vamos a hacerlo como si fuera una funci贸n
193
+ que recibe dos par谩metros.
194
+
195
+ 02:57.120 --> 03:01.480
196
+ Y estos dos par谩metros se van a convertir
197
+ en el valor de estas dos
198
+
199
+ 03:01.480 --> 03:04.760
200
+ propiedades de la clase que estoy
201
+ construyendo en este momento.
202
+
203
+ 03:04.760 --> 03:07.560
204
+ Y aqu铆, por ejemplo, si mi clase va a
205
+ llevar alg煤n m茅todo,
206
+
207
+ 03:07.560 --> 03:11.400
208
+ recordemos que estas son propiedades,
209
+ pero tambi茅n puede llevar m茅todos.
210
+
211
+ 03:11.400 --> 03:13.760
212
+ Vamos a poner
213
+ saludar.
214
+
215
+ 03:13.760 --> 03:17.640
216
+ Entonces el m茅todo es como una funci贸n
217
+ adentro de un objeto.
218
+
219
+ 03:17.640 --> 03:22.400
220
+ Y saludar lo que va a hacer es, nos va a
221
+ regresar un console.log,
222
+
223
+ 03:22.400 --> 03:30.000
224
+ que a su vez nos va a imprimir, por ejemplo,
225
+ un hola, mi nombre es,
226
+
227
+ 03:30.000 --> 03:39.160
228
+ y vamos a mandar llamar el valor de nombre,
229
+ de mi propiedad nombre,
230
+
231
+ 03:39.160 --> 03:40.160
232
+ que ser铆a
233
+ this.nombre.
234
+
235
+ 03:40.160 --> 03:49.560
236
+ Y tengo nada m谩s para, tengo un poco m谩s
237
+ de informaci贸n,
238
+
239
+ 03:49.560 --> 03:55.440
240
+ tengo this.edad,
241
+ a帽os.
242
+
243
+ 03:55.440 --> 03:57.480
244
+ Listo con
245
+ eso.
246
+
247
+ 03:57.480 --> 04:00.600
248
+ Entonces ya que tenemos aqu铆, este es un
249
+ Blueprints.
250
+
251
+ 04:00.600 --> 04:02.520
252
+ Pr谩cticamente eso nada m谩s es un molde.
253
+
254
+ 04:02.520 --> 04:04.320
255
+ Ahorita no va a ser
256
+ nada.
257
+
258
+ 04:04.320 --> 04:10.760
259
+ Si yo mando llamar, por ejemplo, el m茅todo
260
+ de saludar de mi clase
261
+
262
+ 04:10.760 --> 04:13.880
263
+ persona, pues va a haber un onDefine
264
+ porque no tengo nada
265
+
266
+ 04:13.880 --> 04:16.920
267
+ definido, no hay valores aqu铆 como definidos.
268
+
269
+ 04:16.920 --> 04:18.280
270
+ Ese simplemente es un
271
+ molde.
272
+
273
+ 04:18.280 --> 04:21.480
274
+ De aqu铆 nosotros tenemos que empezar a
275
+ crear estas nuevas
276
+
277
+ 04:21.480 --> 04:24.040
278
+ instancias de personas que nos van a
279
+ ayudar a tener la
280
+
281
+ 04:24.040 --> 04:27.200
282
+ informaci贸n suficiente para empezar a
283
+ darle valor a estas
284
+
285
+ 04:27.200 --> 04:28.520
286
+ propiedades que tenemos
287
+ aqu铆.
288
+
289
+ 04:28.520 --> 04:29.600
290
+ 驴C贸mo lo
291
+ har铆amos?
292
+
293
+ 04:29.600 --> 04:34.800
294
+ Bien, empezamos con una constante persona1
295
+ igual a,
296
+
297
+ 04:34.800 --> 04:37.400
298
+ utilizando la palabra reservada new, que new,
299
+
300
+ 04:37.400 --> 04:41.880
301
+ y aqu铆 mandamos llamar el nombre de
302
+ nuestra clase.
303
+
304
+ 04:41.880 --> 04:45.240
305
+ New lo que hace es pr谩cticamente va a
306
+ conectar,
307
+
308
+ 04:45.240 --> 04:49.360
309
+ new va a mandar llamar a nuestra clase y
310
+ new va a conectar con
311
+
312
+ 04:49.360 --> 04:54.240
313
+ el constructor para poder entonces
314
+ rellenar estas
315
+
316
+ 04:54.240 --> 04:57.360
317
+ propiedades que tengo aqu铆 con valores que
318
+ yo le vaya a pasar
319
+
320
+ 04:57.360 --> 05:00.800
321
+ a la clase, que es la clase que estoy
322
+ formando.
323
+
324
+ 05:00.800 --> 05:03.560
325
+ Entonces tenemos nombre y
326
+ edad.
327
+
328
+ 05:03.560 --> 05:11.320
329
+ Va a ser Mariana y Mariana tiene 25 a帽os.
330
+
331
+ 05:11.320 --> 05:13.520
332
+ Aqu铆 ya tenemos una nueva instancia.
333
+
334
+ 05:13.520 --> 05:15.480
335
+ Que lo que estamos haciendo es, mi
336
+ instancia se llama
337
+
338
+ 05:15.480 --> 05:20.800
339
+ persona1, estamos generando una nueva
340
+ instancia de mi clase
341
+
342
+ 05:20.800 --> 05:24.920
343
+ persona y le estamos dando el valor a los
344
+ par谩metros que me
345
+
346
+ 05:24.920 --> 05:29.160
347
+ pide el constructor para que entonces
348
+ estas dos propiedades
349
+
350
+ 05:29.160 --> 05:30.080
351
+ tengan un
352
+ valor.
353
+
354
+ 05:30.080 --> 05:33.040
355
+ Y se puede utilizar en caso de que yo
356
+ mande llamar saludar.
357
+
358
+ 05:33.040 --> 05:36.360
359
+ Que en este caso es justo lo que voy a hacer.
360
+
361
+ 05:36.360 --> 05:39.000
362
+ Voy a mandar llamar persona1.saludar.
363
+
364
+ 05:45.600 --> 05:48.440
365
+ Con esto si guardo, aqu铆 ya tengo el
366
+ primer mensaje que
367
+
368
+ 05:48.440 --> 05:49.120
369
+ est谩
370
+ imprimiendo.
371
+
372
+ 05:49.120 --> 05:52.440
373
+ Es, hola, mi nombre es Mariana y tengo 25
374
+ a帽os.
375
+
376
+ 05:52.440 --> 05:55.320
377
+ Esto viene de crear una primera instancia
378
+ con esta nueva
379
+
380
+ 05:55.320 --> 05:58.000
381
+ sintaxis, que es la sintaxis de clase.
382
+
383
+ 05:58.000 --> 06:00.400
384
+ De aqu铆 en adelante, pr谩cticamente todo lo
385
+ que vayas
386
+
387
+ 06:00.400 --> 06:03.520
388
+ a hacer en temas de programaci贸n orientado
389
+ a objetos,
390
+
391
+ 06:03.520 --> 06:06.240
392
+ vas a utilizar esta sintaxis, clases.
393
+
394
+ 06:06.240 --> 06:08.480
395
+ Tienes tu constructor, tienes los m茅todos,
396
+
397
+ 06:08.480 --> 06:12.720
398
+ tienes aqu铆 pr谩cticamente las propiedades
399
+ y los par谩metros que
400
+
401
+ 06:12.720 --> 06:15.720
402
+ se requieren para poder generar tus nuevas
403
+ instancias y t煤
404
+
405
+ 06:15.720 --> 06:23.280
406
+ vas a poder utilizar
407
+ despu茅s.
408
+
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/basico-js
subir/Curso de Fundamentos de JavaScript/05-Programaci贸n Orientada a Objetos/04-index_36cbd56e-6114-4e82-92ba-c0c0792e2d31.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class Persona {
2
+ constructor(nombre, edad) {
3
+ this.nombre = nombre;
4
+ this.edad = edad;
5
+ }
6
+ saludar() {
7
+ console.log(`Hola, mi nombre es ${this.nombre} y tengo ${this.edad} a帽os.`);
8
+ }
9
+ }
10
+
11
+ const persona1 = new Persona("Mariana", 25);
12
+
13
+ persona1.saludar();