Maison  >  Article  >  interface Web  >  Comment gérer les valeurs nulles en JavaScript ?

Comment gérer les valeurs nulles en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 08:11:02229parcourir

How do you handle null values in JavaScript?

Les opérateurs Elvis et de navigation sécurisée en JavaScript

L'opérateur Elvis, également connu sous le nom d'opérateur de fusion nulle, est un moyen pratique de renvoie une valeur par défaut lorsqu'une expression est évaluée à null ou false. Par exemple :

<code class="javascript">const displayName = user.name || "Anonymous";</code>

En JavaScript, vous pouvez également utiliser l'opérateur logique OU pour obtenir des résultats similaires :

<code class="javascript">const displayName = user.name ? user.name : "Anonymous";</code>

Bien que JavaScript ne dispose pas actuellement d'un opérateur de navigation sécurisé dédié, vous pouvez utiliser la logique conditionnelle pour éviter les NullPointerExceptions :

<code class="javascript">const user = User.findById("admin");
const streetName = user ? (user.address ? user.address.street : null) : null;</code>

Syntaxe alternative : CoffeeScript

Si vous recherchez une syntaxe plus concise, pensez à utiliser CoffeeScript. Il fournit plusieurs raccourcis qui ressemblent aux opérateurs d'Elvis et de navigation sécurisée :

  • Opérateur existentiel : renvoie la valeur d'une propriété si elle existe, sinon renvoie undéfini.

    <code class="coffeescript">zip = lottery.drawWinner?().address?.zipcode</code>
  • Raccourcis de fonction : Vous permet d'omettre les parenthèses pour les fonctions.

    <code class="coffeescript">func 'arg1','arg2' // equivalent to func('arg1','arg2')</code>
  • Fonction sexy Appel : fournit une manière plus concise d'appeler des fonctions avec plusieurs arguments.

    <code class="coffeescript">func 'arg1','arg2' // equivalent to func('arg1','arg2')</code>

CoffeeScript ajoute un large éventail de fonctionnalités à JavaScript, notamment des commentaires multilignes, des classes, etc. . Il peut être compilé en JavaScript ou inséré dans une page en utilisant