Vous pouvez simplement vérifier si le variable a un truthy
ou non. Cela signifie que
if( value ) {
}
évaluera à true
si value
es no :
- null
- indéfini
- NaN
- chaîne vide ("")
- 0
- faux
La liste ci-dessus représente toutes les possibilités falsy
dans ECMA-/Javascript. Vous le trouverez dans le spécification au ToBoolean
section.
En outre, si vous ne connaître si une variable existe (c'est-à-dire, si elle a été déclaré ), vous devez vérifier auprès de la typeof
opérateur. Par exemple
if( typeof foo !== 'undefined' ) {
// foo could get resolved and it's defined
}
Si vous pouvez être sûr qu'un variable est au moins déclarée, vous devez vérifier directement si elle possède un élément de type truthy
comme indiqué ci-dessus.
6 votes
Duplication possible de Comment vérifier la présence d'une chaîne vide en JavaScript ?
0 votes
J'ai fait un violon pour le tester : jsfiddle.net/J7m7m/886
170 votes
Protip, ne faites jamais
(truthy statement) ? true : false;
. Faites juste(truthy statement);
.10 votes
@GeorgeJempty pas un double, puisque l'autre réponse pose une question sur cordes en particulier, alors que celui-ci pose des questions sur variables .
3 votes
Toute réponse correcte à cette question dépend entièrement de la façon dont vous définissez le terme "blanc".
0 votes
Valeurs fausses en javascript avec exemple : developer.mozilla.org/en-US/docs/Glossary/Falsy
0 votes
@David par curiosité, pourquoi pas ? J'ai utilisé les deux sans effets secondaires apparents.
4 votes
@Jay Cela ne nuit en rien à l'exécution de votre code. C'est juste trop verbeux. Tu ne dirais pas, "As-tu faim est vrai ?" Vous dites juste "Are you hungry" Donc dans le code, il suffit de dire
if (hungry) …
au lieu deif (hungry === true) …
. Comme pour tous les codages de ce type, c'est juste une question de goût. Plus spécifiquement à l'exemple fourni par l'OP, il dit encore plus verbeusement, "Si c'est vrai, alors c'est vrai, sinon c'est faux" Mais si c'est vrai, alors c'est déjà vrai. Et, si c'est faux, c'est déjà faux. Cela revient à dire "Si tu as faim, alors tu as faim, sinon, tu n'as pas faim".2 votes
Si vous voulez forcer une valeur à être un vrai booléen, vous pouvez faire ceci
!!value
. Il s'agit simplement de l'opérateur "not" deux fois, ce qui donne "not not value", qui est sa valeur booléenne.0 votes
@frodo2975, merci. Je ne savais pas que l'on pouvait convertir une valeur en booléen de cette façon en JavaScript. C'est la même chose qu'en C++. Intéressant
0 votes
La bonne réponse dépend de la façon dont vous définissez le mot "faux". Pour traiter le faux, il faut :
function isEmpty(val) { return (val || val === false) }
1 votes
Cela devient un échec lorsque l'entrée est booléenne.
0 votes
If(variable == null || variable.length <= 0) ne ferait-il pas l'affaire ? undefined donne VRAI null donne VRAI [] donne VRAI