Maison  >  Article  >  interface Web  >  Comment puis-je vérifier de manière fiable les variables nulles ou non définies en JavaScript ?

Comment puis-je vérifier de manière fiable les variables nulles ou non définies en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 17:08:02853parcourir

How Can I Reliably Check for Null or Undefined Variables in JavaScript?

Exploration de la détection fiable de variables nulles et non définies en JavaScript

En JavaScript, déterminer si une variable est définie ou a une valeur peut être récurrent tâche. De nombreux développeurs ont recours au modèle suivant :

<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) {
    // Do something with some_variable
}</code>

Bien que cette méthode soit fiable, elle peut être verbeuse. Certaines sources suggèrent que le simple fait de vérifier si la variable existe a le même effet :

<code class="javascript">if (some_variable) {
    // Do something with some_variable
}</code>

Cependant, certains environnements de développement, tels que Firebug, signalent une erreur lorsque some_variable n'est pas défini avec la deuxième approche.

Un moyen plus efficace de vérifier les variables nulles ou non définies consiste à utiliser la syntaxe suivante :

<code class="javascript">if (some_variable == null) {
    // some_variable is either null or undefined
}</code>

Cette alternative est équivalente à la version détaillée et est également prise en charge par des outils de développement comme Firebug.

Remarques :

  1. La variable doit être déclarée avant d'utiliser cette technique abrégée ; sinon, une ReferenceError se produira. Cependant, il peut être utilisé en toute sécurité pour des arguments facultatifs ou des vérifications de propriétés d'objet.
  2. Une variante différente mais non équivalente de cette vérification inclut des variables qui sont 0, NaN, fausses ou des chaînes vides :
<code class="javascript">if (!some_variable) {
    // some_variable is either null, undefined, 0, NaN, false, or an empty string
}</code>
  1. L'utilisation de contrôles d'égalité stricts (===) est généralement préférable à ==. Cependant, la comparaison == null recommandée est une exception à cette règle.

Mise à jour 2021-03 :

Les navigateurs modernes prennent en charge l'opérateur de fusion Nullish (? ?) et affectation logique nulle (??=), fournissant un moyen concis d'attribuer des valeurs par défaut si les variables sont nulles ou non définies :

<code class="javascript">if (a.speed == null) {
    // Set default if null or undefined
    a.speed = 42;
}</code>

Ceci peut être réécrit à l'aide de l'opérateur de fusion nul :

<code class="javascript">a.speed ??= 42;</code>

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!

Déclaration:
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