Accès aux propriétés NULL-safe et affectation conditionnelle dans EcmaScript 6
En JavaScript, il peut être fastidieux d'accéder aux propriétés des objets qui peuvent être nul ou indéfini. De plus, l'attribution conditionnelle de valeurs à des variables peut impliquer des blocs try/catch sujets aux erreurs.
L'opérateur de chaînage facultatif (?.), introduit dans ES2020, fournit un moyen concis d'accéder aux propriétés des objets nullables. Il renvoie undefined si la propriété n'existe pas, éliminant ainsi le besoin de vérifications explicites.
Pour l'affectation conditionnelle, l'opérateur d'affectation de fusion nulle (??=) attribue une valeur à une variable uniquement si elle est actuellement nulle ou indéfini. Cela évite d'écraser inutilement les valeurs existantes.
Exemple :
const query = (succeed) => (succeed ? { value: 4 } : undefined); let value = 3; for (let x of [true, false]) { value = query(x)?.value ?? value; } console.log(value); // Output: 4
Dans cet exemple, l'affectation n'a lieu que si query(x).value existe, sinon l'ancienne la valeur est conservée. Le chaînage facultatif garantit qu'aucune erreur n'est générée lors de l'accès à la propriété si la requête (x) n'est pas définie.
Autres notes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!