1
00:00:01,150 --> 00:00:03,770
Ahora aprendamos sobre el nuevo operador.

2
00:00:03,770 --> 00:00:07,763
con el divertido nombre de operador coalescente nulo.

3
00:00:09,120 --> 00:00:11,810
Entonces, en el último video, usamos el operador OR

4
00:00:11,810 --> 00:00:13,850
para establecer un valor predeterminado

5
00:00:13,850 --> 00:00:18,320
en caso de que el primer valor fuera un valor falso.

6
00:00:18,320 --> 00:00:20,833
Así que permítanme traer ese código aquí, en realidad.

7
00:00:23,450 --> 00:00:24,593
Así que este,

8
00:00:25,890 --> 00:00:30,403
pero aquí solo estamos interesados ​​en el operador OR.

9
00:00:33,620 --> 00:00:36,270
Así que llamemos a este simplemente invitados.

10
00:00:36,270 --> 00:00:39,390
Y entonces recordemos nuevamente lo que sucede aquí,

11
00:00:39,390 --> 00:00:42,310
que es cuando establecemos numGuests en cero,

12
00:00:42,310 --> 00:00:46,130
entonces JavaScript todavía tomará este valor predeterminado aquí

13
00:00:46,130 --> 00:00:50,810
y asignarlo a los invitados porque cero es un valor falso ahora,

14
00:00:50,810 --> 00:00:54,340
y por lo tanto, vamos al segundo operando.

15
00:00:54,340 --> 00:00:56,290
Sin embargo, afortunadamente para nosotros,

16
00:00:56,290 --> 00:00:58,950
hay una muy buena solución para esto,

17
00:00:58,950 --> 00:01:01,820
y ese es el nuevo operador con un nombre muy raro

18
00:01:01,820 --> 00:01:04,460
del operador coalescente nulo.

19
00:01:04,460 --> 00:01:07,840
Es un operador que se introdujo en ES2020,

20
00:01:07,840 --> 00:01:10,290
y funciona así.

21
00:01:10,290 --> 00:01:13,973
Así que invitados, llamemos a este Correcto ahora.

22
00:01:15,210 --> 00:01:20,020
Y entonces funciona casi de la misma manera que el operador OR,

23
00:01:20,020 --> 00:01:25,020
realmente casi lo mismo, pero se arreglará o fallará aquí.

24
00:01:25,080 --> 00:01:27,260
Así que vamos a ver que lo hace,

25
00:01:27,260 --> 00:01:29,310
y luego te explico por qué es eso.

26
00:01:30,190 --> 00:01:33,160
Muy bien, y ahora de hecho, obtenemos cero.

27
00:01:33,160 --> 00:01:36,360
Entonces obtenemos el valor real que realmente está aquí.

28
00:01:36,360 --> 00:01:39,830
Y ahora si lo quitamos, solo así nos salen 10,

29
00:01:39,830 --> 00:01:43,130
que es el valor por defecto que queremos.

30
00:01:43,130 --> 00:01:45,230
Entonces, ¿por qué funciona esto?

31
00:01:45,230 --> 00:01:48,630
Bueno, es porque el operador coalescente nulo

32
00:01:48,630 --> 00:01:51,450
trabaja con la idea o con el concepto

33
00:01:51,450 --> 00:01:54,823
de valores nulos en lugar de valores falsos.

34
00:01:57,700 --> 00:02:00,100
Y los valores nulos son nulos

35
00:02:01,700 --> 00:02:04,660
e indefinido.

36
00:02:04,660 --> 00:02:05,580
Eso es todo.

37
00:02:05,580 --> 00:02:09,690
No incluye un cero

38
00:02:09,690 --> 00:02:10,983
o la cadena vacía.

39
00:02:12,080 --> 00:02:15,150
Básicamente, para el operador coalescente nulo,

40
00:02:15,150 --> 00:02:19,610
es como si el cero y la cadena vacia

41
00:02:19,610 --> 00:02:21,580
no eran valores falsos

42
00:02:21,580 --> 00:02:24,580
y eran en cambio valores verdaderos también.

43
00:02:24,580 --> 00:02:27,290
Pero de nuevo, este operador funciona.

44
00:02:27,290 --> 00:02:30,260
con el principio de los valores nulos.

45
00:02:30,260 --> 00:02:32,040
Y así todos los valores nulos

46
00:02:32,040 --> 00:02:34,313
cortocircuitará la evaluación aquí.

47
00:02:35,660 --> 00:02:39,260
De acuerdo, solo si esto era nulo o indefinido,

48
00:02:39,260 --> 00:02:41,880
solo entonces el segundo operando aquí

49
00:02:41,880 --> 00:02:44,640
sería ejecutado y devuelto.

50
00:02:44,640 --> 00:02:46,690
Y ahora mismo, ese es el caso

51
00:02:46,690 --> 00:02:49,210
como número de invitados no existe,

52
00:02:49,210 --> 00:02:51,300
así que lo comentamos aquí.

53
00:02:51,300 --> 00:02:52,950
Y ahora es indefinido,

54
00:02:52,950 --> 00:02:56,623
y sólo entonces continúa la evaluación.

55
00:02:57,630 --> 00:03:01,630
Pero de nuevo, como lo volvemos a colocar, ahora es cero,

56
00:03:01,630 --> 00:03:04,410
y cero no es un valor nulo.

57
00:03:04,410 --> 00:03:07,900
Y por lo tanto, la evaluación aquí está en cortocircuito,

58
00:03:07,900 --> 00:03:12,313
e inmediatamente, se devuelve este primer valor no nulo.

59
00:03:13,840 --> 00:03:16,240
Muy bien, y eso es todo por ahora.

60
00:03:16,240 --> 00:03:19,040
sobre este operador coalescente nulo.

61
00:03:19,040 --> 00:03:22,210
Es un operador realmente genial y realmente útil,

62
00:03:22,210 --> 00:03:26,050
aunque en este momento, puede no parecer tan útil,

63
00:03:26,050 --> 00:03:27,990
pero a medida que avanzamos en el proyecto,

64
00:03:27,990 --> 00:03:29,633
verás que realmente lo es.