Maison >interface Web >js tutoriel >Comment vérifier de manière fiable si une variable JavaScript n'est pas définie ?

Comment vérifier de manière fiable si une variable JavaScript n'est pas définie ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 20:52:23727parcourir

How to Reliably Check if a JavaScript Variable is Undefined?

Comment vérifier si une variable n'est pas définie en JavaScript

Déterminer si une variable n'est pas définie en JavaScript est essentiel pour un fonctionnement de code fiable. Bien qu'il existe plusieurs approches à ce problème, chaque méthode a ses propres avantages et inconvénients.

L'opérateur in

L'opérateur in évalue si une propriété existe dans un objet, quelle que soit sa valeur. Cette approche est particulièrement utile si vous souhaitez vérifier la présence d'une variable, même si une valeur lui a été explicitement attribuée.

if ("myVariable" in window) {
  // myVariable is defined
}

L'opérateur typeof

L'opérateur typeof renvoie le type de données d'une variable. Non défini est un type de données valide en JavaScript, donc comparer directement une variable à « non défini » déterminera avec précision son statut non défini.

if (typeof myVariable === "undefined") {
  // myVariable is undefined
}

Il est important de noter que cette méthode ne peut identifier que les variables qui sont strictement indéfinies, non affecté à des valeurs nulles ou à d'autres valeurs fausses.

Coercition booléenne

Bien que moins fiable que les autres méthodes, la coercition booléenne peut être utilisée pour vérifier un élément indéfini. En forçant implicitement une variable à un booléen, vous pouvez tirer parti du fait qu'undefined est une valeur fausse. Cependant, cette méthode peut conduire à des résultats inattendus si la variable a été affectée à d'autres valeurs fausses, telles que 0 ou "".

if (!myVariable) {
  // myVariable is undefined (or null, 0, "", etc.)
}

Comparaison avec undefined

Similaire à la coercition booléenne, comparer une variable directement à undéfini peut fonctionner, mais ce n'est pas fiable en soi. Comme undefined peut être écrasé ou réaffecté, cette méthode peut produire des résultats incorrects.

if (myVariable == undefined) {
  // myVariable may or may not be undefined
}

Gestion des erreurs

Dans certains cas, il peut être approprié d'utiliser un bloc try-catch pour gérer un erreur qui serait générée si la variable n'est pas définie. Cependant, cette approche peut être lourde et n'est recommandée que pour des scénarios spécifiques.

try {
  if (myVariable) {
    // myVariable is defined
  }
} catch (err) {
  // myVariable is undefined
}

Conclusion

Lors de la vérification d'undéfini en JavaScript, la méthode la plus appropriée dépend des exigences spécifiques du code . Pour déterminer si une variable a été déclarée, quelle que soit sa valeur, l'opérateur in est le choix le plus sûr. Si l’intérêt réside uniquement dans la distinction de undefined des autres types de données, l’opérateur typeof est préféré. La coercition booléenne et la comparaison directe avec undéfini sont moins fiables et doivent être utilisées avec prudence.

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