Maison > interface Web > js tutoriel > le corps du texte

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

Susan Sarandon
Libérer: 2024-10-31 17:08:02
original
928 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion
  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>
Copier après la connexion

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

<code class="javascript">a.speed ??= 42;</code>
Copier après la connexion

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