Maison > Article > interface Web > La vérification de « some_variable » dans une instruction « if » est-elle équivalente à la vérification de « undéfini » et « null » ?
En JavaScript, nous rencontrons souvent le besoin de vérifier si une variable est indéfinie ou nulle. Une approche courante implique le modèle de code suivant :
<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable }</code>
Cependant, ce modèle peut être verbeux. Pour optimiser cette vérification, certains développeurs proposent de simplifier le code pour :
<code class="javascript">if (some_variable) { // Do something with some_variable }</code>
Bien que cette version plus courte semble logique, elle soulève des questions importantes sur son équivalence avec le code original.
La différence réside dans le comportement du deuxième modèle de code. Si some_variable n'est pas défini, Firebug générera une erreur lors de l'évaluation de la condition. Cela signifie que le deuxième modèle suppose que la variable est déclarée, tandis que le premier modèle gère à la fois les variables déclarées et non déclarées.
Un moyen plus efficace et plus cohérent de vérifier les variables nulles ou non définies. est :
<code class="javascript">if (some_variable == null) { // Do something with some_variable }</code>
Cet extrait de code identifie avec précision quand la variable est nulle ou indéfinie, sans nécessiter de déclaration ni provoquer d'erreurs d'exécution dans Firebug.
Dans les navigateurs modernes, l'opérateur de fusion Nullish (??) et l'affectation logique nulle (??=) fournissent des moyens concis d'attribuer des valeurs par défaut lorsqu'une variable est nulle ou non définie :
<code class="javascript">a.speed ??= 42; // Sets default speed to 42 if null or undefined</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!