Accès aux propriétés NULL-safe et affectation conditionnelle dans EcmaScript 6
La possibilité d'accéder aux propriétés d'objets qui peuvent être nulles ou indéfinies sans provoquer Les erreurs sont appelées accès aux propriétés null-safe. L'affectation conditionnelle, en revanche, permet d'attribuer des valeurs uniquement si des conditions spécifiques sont remplies.
Dans EcmaScript 6, plusieurs opérateurs prennent en charge à la fois l'accès aux propriétés null-safe et l'affectation conditionnelle.
Chaînage facultatif (?.)
Introduit dans ES2020, le chaînage facultatif permet d'accéder aux propriétés des objets qui peuvent être nul ou indéfini sans exceptions. Il utilise le ?. opérateur, qui renvoie undéfini au lieu de générer une erreur :
const query = succeed => (succeed ? { value: 4 } : undefined); let value = 3; for (let x of [true, false]) { value = query(x)?.value; } console.log(value); // Output: 4
Assignation de fusion nulle (??=)
L'opérateur d'affectation de fusion nulle (??=) attribue une valeur à une variable uniquement si la valeur actuelle est nulle ou indéfinie. Il renvoie le résultat de l'affectation :
let value = 3; value ??= query(false)?.value; console.log(value); // Output: 3
Compatibilité
Le chaînage facultatif est pris en charge dans les principaux navigateurs modernes et les versions de Node.js, tandis que l'affectation de fusion nulle est prise en charge. dans les navigateurs et Node.js v14 . Pour les environnements plus anciens, envisagez d'utiliser Babel ou un polyfill.
Alternatives
Avant ces opérateurs, les solutions de contournement incluaient :
Conclusion
Le chaînage facultatif et l'affectation de fusion nulle fournissent des outils puissants pour un accès concis aux propriétés de sécurité nulle et une affectation conditionnelle dans EcmaScript 6. Ils simplifient le code, améliorent la lisibilité et réduisent le risque d'erreurs.
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!