1
00:00:01,220 --> 00:00:04,020
Comencemos esta sección sobre funciones.

2
00:00:04,020 --> 00:00:08,143
con una de las partes más fáciles, que son los parámetros predeterminados.

3
00:00:10,040 --> 00:00:13,470
Y una nueva sección significa nuevos archivos de inicio.

4
00:00:13,470 --> 00:00:17,440
Entonces, como siempre, obtenga el suyo del repositorio de Gitup y luego

5
00:00:17,440 --> 00:00:20,070
ábralos en su VS Code.

6
00:00:20,070 --> 00:00:24,200
Entonces, como siempre, ya comenzamos con el modo estricto aquí.

7
00:00:24,200 --> 00:00:27,670
pero ahora hablemos de los parámetros predeterminados.

8
00:00:27,670 --> 00:00:31,710
Así que a veces es útil tener funciones en las que algunos

9
00:00:31,710 --> 00:00:35,370
Los parámetros se establecen de forma predeterminada. Por aquí

10
00:00:35,370 --> 00:00:39,440
no tenemos que pasarlos manualmente en caso de que no lo hagamos

11
00:00:39,440 --> 00:00:41,460
desea cambiar el valor predeterminado.

12
00:00:41,460 --> 00:00:42,470
Ahora en esta sección,

13
00:00:42,470 --> 00:00:45,650
vamos a continuar con el tema de la aerolínea que

14
00:00:45,650 --> 00:00:48,530
comenzado por el final de la última sección.

15
00:00:48,530 --> 00:00:52,440
Ahora vamos a crear una función de reserva muy básica y

16
00:00:52,440 --> 00:00:53,420
vamos a hacer eso,

17
00:00:53,420 --> 00:00:56,543
partiendo de los conocimientos que ya teníamos previamente.

18
00:00:59,520 --> 00:01:01,210
Así que sin el valor predeterminado

19
00:01:02,060 --> 00:01:03,333
parámetros primero,

20
00:01:06,070 --> 00:01:09,220
entonces solo una función normal y en esta función,

21
00:01:09,220 --> 00:01:12,045
necesitamos pasar el número de vuelo,

22
00:01:12,045 --> 00:01:14,630
el número de pasajeros

23
00:01:16,530 --> 00:01:17,363
y el

24
00:01:18,420 --> 00:01:19,253
precio.

25
00:01:20,810 --> 00:01:24,410
Y luego simplemente usemos estos datos para crear un objeto y

26
00:01:24,410 --> 00:01:26,423
empuje eso en alguna matriz de reservas.

27
00:01:29,780 --> 00:01:31,620
Así que reserva,

28
00:01:31,620 --> 00:01:35,050
y ahora aquí podemos usar la sintaxis literal de objeto mejorada

29
00:01:35,050 --> 00:01:38,770
que aprendimos en la sección anterior.

30
00:01:38,770 --> 00:01:42,260
Entonces no podemos crear un objeto con una propiedad de número de vuelo

31
00:01:42,260 --> 00:01:46,350
sin tener que hacer esto, ¿recuerdas?

32
00:01:46,350 --> 00:01:49,290
Así que simplemente definimos una variable aquí y eso luego

33
00:01:49,290 --> 00:01:53,810
crear una propiedad con este nombre y también el valor que es

34
00:01:53,810 --> 00:01:55,093
en la variable.

35
00:01:57,870 --> 00:01:59,903
Y luego registrémoslo en una consola.

36
00:02:01,600 --> 00:02:05,500
Y luego vamos a crear una matriz aquí que

37
00:02:05,500 --> 00:02:06,773
contienen estas reservas.

38
00:02:08,530 --> 00:02:11,950
Entonces comenzamos vacíos aquí y luego simplemente los empujamos cada uno

39
00:02:11,950 --> 00:02:13,350
tiempo hay una reserva.

40
00:02:13,350 --> 00:02:16,040
Así que básicamente para que la aerolínea mantenga

41
00:02:16,040 --> 00:02:17,723
las reservas en algún tipo de

42
00:02:17,723 --> 00:02:19,650
sistema.

43
00:02:19,650 --> 00:02:22,130
Y todo esto es muy ficticio.

44
00:02:22,130 --> 00:02:26,560
Es solo para mostrarle los parámetros predeterminados en este caso.

45
00:02:26,560 --> 00:02:28,090
Y hablando de eso,

46
00:02:28,090 --> 00:02:30,780
en base a lo que aprendimos en la última sección sobre

47
00:02:30,780 --> 00:02:35,780
cortocircuito, ¿cómo implementaríamos los parámetros predeterminados?

48
00:02:35,890 --> 00:02:36,723
Bien,

49
00:02:36,723 --> 00:02:39,510
comencemos llamando a esta función sin especificar algunos

50
00:02:39,510 --> 00:02:41,823
parámetros y ver lo que obtenemos entonces.

51
00:02:43,240 --> 00:02:45,460
Así que crea una reserva.

52
00:02:45,460 --> 00:02:50,137
Y ahora con solo el número de vuelo, digamos LH 123,

53
00:02:51,850 --> 00:02:54,073
y ahora necesitamos un nuevo terminal como siempre.

54
00:02:59,140 --> 00:03:00,940
Así que de nuevo, presiono tocar aquí

55
00:03:01,931 --> 00:03:04,993
para completar automáticamente la operación.

56
00:03:09,490 --> 00:03:13,120
Y de hecho aquí está nuestro navegador con nuestra página ya

57
00:03:13,120 --> 00:03:14,670
correr.

58
00:03:14,670 --> 00:03:16,453
Ahora aquí hay algún tipo de problema.

59
00:03:17,700 --> 00:03:20,240
Ah, y eso es porque llamamos a esta reserva aquí,

60
00:03:20,240 --> 00:03:22,050
lo mismo que la matriz.

61
00:03:22,050 --> 00:03:25,660
Y entonces aquí está tratando de empujar este objeto hacia

62
00:03:25,660 --> 00:03:27,423
básicamente en sí mismo.

63
00:03:28,360 --> 00:03:32,463
Entonces necesitamos crear reservas aquí, dándole un nuevo nombre.

64
00:03:33,420 --> 00:03:38,420
Y de hecho ahora tenemos aquí el resultado de este objeto,

65
00:03:38,500 --> 00:03:39,640
y ahora funciona.

66
00:03:39,640 --> 00:03:44,130
Y aquí vemos el resultado de este objeto de reserva.

67
00:03:44,130 --> 00:03:48,347
Entonces, lo que queríamos ver aquí era que el número de pasajeros

68
00:03:48,347 --> 00:03:52,740
y el precio se establece en indefinido porque no especificamos

69
00:03:52,740 --> 00:03:54,406
a ellos.

70
00:03:54,406 --> 00:03:57,620
Y ahora podemos usar los cortocircuitos a nuestro favor.

71
00:03:57,620 --> 00:04:00,233
porque sabemos que estos son valores falsos.

72
00:04:01,980 --> 00:04:03,260
Bueno.

73
00:04:03,260 --> 00:04:06,360
Y lo que estoy haciendo aquí es básicamente la forma antigua de establecer

74
00:04:06,360 --> 00:04:07,720
parámetros predeterminados,

75
00:04:07,720 --> 00:04:11,700
solo para recordar cómo funcionaría antes de ES6.

76
00:04:11,700 --> 00:04:16,130
Así que digamos que quería establecer el número de pasajeros en uno

77
00:04:16,130 --> 00:04:17,330
por defecto.

78
00:04:17,330 --> 00:04:22,073
Básicamente, reasignaríamos este parámetro de esta manera.

79
00:04:23,120 --> 00:04:28,120
Entonces numPassengers es numPassengers o uno,

80
00:04:28,640 --> 00:04:31,170
que es el valor predeterminado.

81
00:04:31,170 --> 00:04:33,870
Y esto funciona por las razones que aprendimos en el

82
00:04:33,870 --> 00:04:38,300
última sección, que es que siempre que este sea un valor falso,

83
00:04:38,300 --> 00:04:39,713
que indefinido es,

84
00:04:39,713 --> 00:04:41,712
entonces el resultado de la

85
00:04:41,712 --> 00:04:44,520
El operador OR aquí será esta segunda operante.

86
00:04:44,520 --> 00:04:46,963
Así que este valor aquí en este caso uno,

87
00:04:48,000 --> 00:04:50,400
y ahora podemos hacer lo mismo con el premio.

88
00:04:53,800 --> 00:04:57,650
Digamos que 199 es el precio predeterminado.

89
00:04:57,650 --> 00:05:00,270
Entonces, si recargamos esto ahora,

90
00:05:00,270 --> 00:05:03,520
entonces de hecho obtenemos nuestros valores predeterminados aquí.

91
00:05:03,520 --> 00:05:07,370
Bueno. Sin embargo, viniendo de esta parte del código,

92
00:05:07,370 --> 00:05:12,130
esto es un montón de feo abrigo repetitivo. Y otra vez,

93
00:05:12,130 --> 00:05:15,000
esta es la forma ES5 de hacerlo.

94
00:05:15,000 --> 00:05:16,200
Así que sacaré esto.

95
00:05:17,550 --> 00:05:19,040
Déjame en realidad, escribir

96
00:05:19,040 --> 00:05:23,080
ES5 aquí porque ahora en ES6 hay una mejor manera.

97
00:05:23,080 --> 00:05:28,080
Así que todo lo que tenemos que hacer es escribir esto es igual a uno.

98
00:05:28,840 --> 00:05:32,750
Y ahora esto aquí será el valor predeterminado

99
00:05:32,750 --> 00:05:34,490
y lo mismo por el precio.

100
00:05:34,490 --> 00:05:36,510
Digamos a 199.

101
00:05:36,510 --> 00:05:40,600
Y ahora, si recargamos, obtenemos el mismo resultado aquí.

102
00:05:40,600 --> 00:05:43,760
Y esto aquí, por supuesto, se ve mucho mejor y es

103
00:05:43,760 --> 00:05:46,193
mucho más intuitivo de leer.

104
00:05:47,220 --> 00:05:50,620
Ahora, por supuesto, podemos anular estos valores predeterminados.

105
00:05:50,620 --> 00:05:52,763
De lo contrario, esto no tendría mucho sentido.

106
00:05:53,670 --> 00:05:54,780
Entonces intentemos

107
00:05:56,123 --> 00:05:59,760
H 123, y ahora por

108
00:05:59,760 --> 00:06:03,743
dos pasajeros, y digamos 800.

109
00:06:05,170 --> 00:06:07,640
Y ahora, por supuesto, estos valores son los que

110
00:06:07,640 --> 00:06:11,610
especificado aquí en lugar de los valores predeterminados.

111
00:06:11,610 --> 00:06:12,443
Ahora,

112
00:06:12,443 --> 00:06:15,770
una cosa que es realmente genial acerca de los valores predeterminados es

113
00:06:15,770 --> 00:06:18,120
que pueden contener cualquier expresión.

114
00:06:18,120 --> 00:06:22,615
Por ejemplo, podríamos hacer *1.2, por ejemplo,

115
00:06:22,615 --> 00:06:24,543
entonces obtendríamos esto aquí.

116
00:06:25,750 --> 00:06:26,583
Bueno.

117
00:06:26,583 --> 00:06:29,580
Pero lo que es aún más útil es que en realidad podemos usar el

118
00:06:29,580 --> 00:06:34,220
valores de los otros parámetros que se establecieron antes.

119
00:06:34,220 --> 00:06:38,140
Así que ahora podemos decir que el precio debe calcularse

120
00:06:38,140 --> 00:06:40,043
en función del número de pasajeros.

121
00:06:40,900 --> 00:06:42,370
Está bien.

122
00:06:42,370 --> 00:06:45,973
Entonces, si ahora hacemos esto, creamos la reserva nuevamente,

123
00:06:47,010 --> 00:06:48,833
solo un número plano aleatorio aquí,

124
00:06:51,410 --> 00:06:52,730
digamos de nuevo, dos

125
00:06:53,900 --> 00:06:56,653
pero luego con cinco, obtendremos otro valor.

126
00:06:58,760 --> 00:07:01,490
Así que de hecho ves 398.

127
00:07:01,490 --> 00:07:05,210
Entonces el número continúa aquí abajo y luego 995

128
00:07:06,260 --> 00:07:10,080
Y así, el precio ahora se calcula dinámicamente de forma predeterminada,

129
00:07:10,080 --> 00:07:13,490
en base a este valor que especificamos y al número de

130
00:07:13,490 --> 00:07:15,030
pasajeros Y otra vez,

131
00:07:15,030 --> 00:07:19,290
esto solo funciona para los parámetros que están definidos en la lista

132
00:07:19,290 --> 00:07:21,320
antes de este.

133
00:07:21,320 --> 00:07:25,470
Entonces esto no funcionaría porque JavaScript básicamente

134
00:07:25,470 --> 00:07:29,423
especifica estos parámetros en los pedidos y como alcanza.

135
00:07:30,400 --> 00:07:32,450
Ahora mismo, cuando alcanza el precio,

136
00:07:32,450 --> 00:07:35,590
aún no conoce el número de pasajeros.

137
00:07:35,590 --> 00:07:37,193
Y entonces eso no funcionaría.

138
00:07:38,220 --> 00:07:41,470
Ahora, otra cosa que es importante tener en cuenta aquí es que nosotros

139
00:07:41,470 --> 00:07:45,670
no podemos omitir argumentos aquí cuando llamamos a una función.

140
00:07:45,670 --> 00:07:46,503
Así por ejemplo,

141
00:07:46,503 --> 00:07:50,170
digamos que queríamos dejar el número de pasajeros como el

142
00:07:50,170 --> 00:07:54,160
valor predeterminado, pero luego especifique el precio.

143
00:07:54,160 --> 00:07:55,853
Así que no podemos hacer esto.

144
00:08:00,990 --> 00:08:04,130
Así que omitiendo el número de pasajeros ahora,

145
00:08:04,130 --> 00:08:07,260
y luego solo especificando un nuevo precio.

146
00:08:07,260 --> 00:08:08,260
Así que si hacemos esto,

147
00:08:08,260 --> 00:08:11,400
entonces, por supuesto, el número de pasajeros se convierte en 1000

148
00:08:13,120 --> 00:08:16,280
porque el segundo argumento aquí siempre se asignará a

149
00:08:16,280 --> 00:08:18,000
el segundo parámetro.

150
00:08:18,000 --> 00:08:21,500
Entonces, si quisiéramos dejar este año por defecto,

151
00:08:21,500 --> 00:08:23,440
hay un buen truco.

152
00:08:23,440 --> 00:08:27,924
Entonces, el número de pasajeros que simplemente podemos establecer como indefinido,

153
00:08:27,924 --> 00:08:29,490
está bien,

154
00:08:29,490 --> 00:08:32,330
y esto funciona de nuevo porque establecer el parámetro en

155
00:08:32,330 --> 00:08:33,163
indefinido,

156
00:08:34,009 --> 00:08:36,900
es lo mismo que ni configurarlo, ¿recuerdas?

157
00:08:36,900 --> 00:08:39,290
Así que cuando no establecemos un parámetro

158
00:08:39,290 --> 00:08:42,560
así que cuando no pasamos un argumento a ese parámetro,

159
00:08:42,560 --> 00:08:45,320
entonces tomará el valor de indefinido.

160
00:08:45,320 --> 00:08:49,270
Y así, especificar undefined aquí es exactamente lo mismo.

161
00:08:49,270 --> 00:08:52,980
Y así es como básicamente omitimos un parámetro predeterminado

162
00:08:52,980 --> 00:08:55,463
que queremos dejar por defecto.

163
00:08:56,299 --> 00:08:58,770
Y ahora, mientras lo vuelvo a cargar aquí,

164
00:08:58,770 --> 00:09:01,940
ves que el número de pasajeros sigue siendo uno.

165
00:09:01,940 --> 00:09:04,820
Y efectivamente el precio es ahora, 1000.

166
00:09:04,820 --> 00:09:08,050
Bueno. Así que otra muy buena adición.

167
00:09:08,050 --> 00:09:10,220
al idioma en ES6 aquí

168
00:09:10,220 --> 00:09:13,280
y bastante fácil de entender también.

169
00:09:13,280 --> 00:09:14,773
Así que nos vemos en el próximo vídeo.