Ahora aprendamos sobre el nuevo operador.
con el divertido nombre de operador coalescente nulo.
Entonces, en el último video, usamos el operador OR
para establecer un valor predeterminado
en caso de que el primer valor fuera un valor falso.
Así que permítanme traer ese código aquí, en realidad.
Así que este,
pero aquí solo estamos interesados ​​en el operador OR.
Así que llamemos a este simplemente invitados.
Y entonces recordemos nuevamente lo que sucede aquí,
que es cuando establecemos numGuests en cero,
entonces JavaScript todavía tomará este valor predeterminado aquí
y asignarlo a los invitados porque cero es un valor falso ahora,
y por lo tanto, vamos al segundo operando.
Sin embargo, afortunadamente para nosotros,
hay una muy buena solución para esto,
y ese es el nuevo operador con un nombre muy raro
del operador coalescente nulo.
Es un operador que se introdujo en ES2020,
y funciona así.
Así que invitados, llamemos a este Correcto ahora.
Y entonces funciona casi de la misma manera que el operador OR,
realmente casi lo mismo, pero se arreglará o fallará aquí.
Así que vamos a ver que lo hace,
y luego te explico por qué es eso.
Muy bien, y ahora de hecho, obtenemos cero.
Entonces obtenemos el valor real que realmente está aquí.
Y ahora si lo quitamos, solo así nos salen 10,
que es el valor por defecto que queremos.
Entonces, ¿por qué funciona esto?
Bueno, es porque el operador coalescente nulo
trabaja con la idea o con el concepto
de valores nulos en lugar de valores falsos.
Y los valores nulos son nulos
e indefinido.
Eso es todo.
No incluye un cero
o la cadena vacía.
Básicamente, para el operador coalescente nulo,
es como si el cero y la cadena vacia
no eran valores falsos
y eran en cambio valores verdaderos también.
Pero de nuevo, este operador funciona.
con el principio de los valores nulos.
Y así todos los valores nulos
cortocircuitará la evaluación aquí.
De acuerdo, solo si esto era nulo o indefinido,
solo entonces el segundo operando aquí
sería ejecutado y devuelto.
Y ahora mismo, ese es el caso
como número de invitados no existe,
así que lo comentamos aquí.
Y ahora es indefinido,
y sólo entonces continúa la evaluación.
Pero de nuevo, como lo volvemos a colocar, ahora es cero,
y cero no es un valor nulo.
Y por lo tanto, la evaluación aquí está en cortocircuito,
e inmediatamente, se devuelve este primer valor no nulo.
Muy bien, y eso es todo por ahora.
sobre este operador coalescente nulo.
Es un operador realmente genial y realmente útil,
aunque en este momento, puede no parecer tan útil,
pero a medida que avanzamos en el proyecto,
verás que realmente lo es.