369 votes

JavaScript: comment tester si une variable n'est pas NULL

Ma compréhension est que les deux lignes JavaScript ci-dessous sont équivalentes, mais je ne sais pas quelle est la meilleure pratique à utiliser:

Devrais-je:

 if (myVar) {...}
 

ou

 if (myVar !== null) {...}
 

479voto

Tim Down Points 124501

Ils ne sont pas équivalents. La première va exécuter le bloc à la suite de la if si myVar est truthy (c'est à dire évalue true dans un conditionnel), tandis que le second va exécuter le bloc if myVar est une valeur autre que null.

Les seules valeurs qui ne sont pas truthy en JavaScript sont les suivants (un.k.un. falsy valeurs):

  • null
  • undefined
  • 0
  • "" (la chaîne vide)
  • false
  • NaN

99voto

Tolgahan Albayrak Points 356

comment tester si une variable n'est pas NULL === if (myVar! == null) {...}

le bloc sera exécuté si myVar n'est pas null .. il sera exécuté si myVar est indéfini ou faux ou 0 ou NaN ou autre chose ..

53voto

Jonathon Bolster Points 8663

Avoir une lecture à ce post: http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/

Il a de bons conseils pour JavaScript en général, mais une chose qu’il mentionne est que vous devriez vérifier la présence de null comme:

 if(myvar) { }
 

Il mentionne également ce que l'on considère comme "falsey" que vous pourriez ne pas réaliser.

9voto

Ben Points 160

Il y a un autre scénario possible que je viens de rencontrer.

J'ai fait un appel ajax et récupéré les données comme nulles. Je devais le vérifier comme ceci:

 if(value != 'null'){}
 

Donc, null était une chaîne de caractères lisant "null" plutôt que réellement nulle.

-5voto

THE DOCTOR Points 1870

Les deux instructions conditionnelles vous liste ici ne sont pas mieux qu'une autre. Votre utilisation dépend de la situation. Vous avez une faute de frappe, par la manière, dans le 2ème exemple. Il devrait y avoir un seul signe égal après le point d'exclamation.

Le 1er exemple qui détermine si la valeur de myVar est vrai et exécute le code à l'intérieur de l' {...}

Le 2ème exemple évalue si myVar n'est pas égal à null, et si cette affaire est vraie, elle va exécuter votre code à l'intérieur de l' {...}

Je suggère de prendre un coup d'oeil dans les expressions conditionnelles de plus en plus techniques. Une fois que vous êtes familier avec eux, vous pouvez décider quand vous en avez besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X