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) {...}
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) {...}
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
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.
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 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.