Maison > interface Web > js tutoriel > Comment les opérateurs d'Elvis et de Safe Navigation protègent-ils les valeurs JavaScript ?

Comment les opérateurs d'Elvis et de Safe Navigation protègent-ils les valeurs JavaScript ?

Barbara Streisand
Libérer: 2024-11-04 01:20:03
original
373 Les gens l'ont consulté

How do the Elvis and Safe Navigation Operators Protect JavaScript Values?

Protection des valeurs JavaScript : Elvis et les opérateurs de navigation sécurisés

En JavaScript, s'assurer que les variables ne sont pas nulles ou indéfinies est crucial pour éviter les erreurs. L'opérateur Elvis et l'opérateur de navigation sécurisée sont deux techniques qui peuvent vous aider dans cette tâche.

Opérateur Elvis : un raccourci conditionnel

Similaire à l'opérateur ternaire de Java, l'opérateur Elvis (?:) attribue une valeur par défaut si l'expression de gauche est résolue en faux, nul ou indéfini. Par exemple :

const displayName = user.name ?: "Anonymous";
Copier après la connexion

Si user.name existe et n'est pas vide, displayName recevra sa valeur. Sinon, il sera par défaut "Anonyme".

Opérateur de navigation sécurisé : éviter les exceptions NullPointerExceptions

L'opérateur de navigation sécurisé (?.) empêche les exceptions NullPointerExceptions lors de l'accès aux propriétés potentiellement nulles. objets. Au lieu de lever une exception, il renvoie simplement null. Par exemple :

const streetName = user?.address?.street;
Copier après la connexion

Si user ou user.address est nul, streetName restera nul. Cela protège contre les erreurs lors de l'accès aux propriétés d'objets inexistants.

Alternatives en JavaScript

Actuellement, JavaScript n'a pas d'opérateur Elvis. Au lieu de cela, vous pouvez utiliser l'opérateur OU logique (||) pour les affectations conditionnelles :

const displayName = user.name || "Anonymous";
Copier après la connexion

Cependant, il n'existe pas d'équivalent direct pour l'opérateur de navigation sécurisée. Pour une fonctionnalité similaire, envisagez d'utiliser CoffeeScript, qui fournit un opérateur existentiel :

const zip = lottery.drawWinner?().address?.zipcode;
Copier après la connexion

CoffeeScript propose également d'autres améliorations syntaxiques telles que des commentaires multilignes, des raccourcis de fonction et des appels de fonction « sexy ». Ces fonctionnalités peuvent améliorer la lisibilité et l'expressivité du code JavaScript.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal