Il y a maintenant 4 opérateurs conscients de la nullité
? ? fournit un défaut si le sujet est nul
return subject ?? "defaultIfNull";
??= définit le sujet par défaut uniquement si le sujet est nul
C'est similaire à ? ? mais définit la variable sujet par défaut si elle est nulle.
subject ??= "defaultIfNull";
?. éviter une exception, retourner null ou ne pas exécuter la fonction/méthode si l'objet à gauche est null
object?.x
retournera null si l'objet est null, object.x
provoquerait une exception si l'objet était nul
Ceci peut également être utilisé lors de l'appel de méthodes. Par exemple
pour les méthodes d'annulation, object?.myVoidMethod()
- si object
est nulle, alors myVoidMethod
ne s'exécutera pas.
et pour les méthodes qui renvoient des valeurs object?.returnValueMethod()
- si object
est nulle, alors returnValueMethod
retournera null.
Il peut également être utilisé avec des appels de fonction avec la fonction call
opérateur. Par exemple myCallbackFunction?.call()
ne s'exécutera que si maFonction n'est pas nulle.
... ? à partir d'une collection étalée, éviter un élément nul dans la liste finale si la liste des sujets est nulle
le résultat de ce qui suit
[
...[1, 2],
null,
]
est [1, 2, null]
pour éviter l'utilisation de la valeur nulle ... ?
var resultingList = [
...[1, 2],
...?subjectList,
];