Comment vérifier si une valeur n'est pas nulle et non pas une chaîne vide en JS
Est-il vérifier si une valeur n'est pas nulle et non pas une chaîne vide en Javascript? Je suis en utilisant la suivante:
var data; //get its value from db
if(data != null && data != '') {
//do something
}
Mais je me demandais si il y a une autre solution. Merci.
if(data)
suffirait comme il est dit ici- J'ai essayé cela, mais dans les deux cas, il n'a pas de travail.
- merci tout le monde, je vais essayer cela. J'espère que cela va fonctionner.
undefined
est l'un des cas spéciaux qui, selon votre logique, devrait déclencher// do something
mais ne sera pas.- Double Possible de Comment vérifiez-vous pour une chaîne vide en JavaScript?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez vraiment confirmer qu'une variable n'est pas nulle et non pas une chaîne vide spécifiquement, vous écrivez:
Avis que j'ai modifié ton code pour vérifier l'égalité de traitement (
!==
|===
).Si, toutefois, vous voulez juste faire en sorte, que le code sera exécuté uniquement pour les "raisonnable" valeurs", alors vous pouvez, comme d'autres l'ont déjà dit, écrire:
Depuis, en javascript, de valeurs nulles, et les cordes à vide, est égal à false (c'est à dire
null == false
).La différence entre ces 2 parties de code, c'est que, pour la première, chaque valeur qui n'est pas précisément la valeur null ou une chaîne vide, entrez le
if
. Mais, sur le second, tout vrai-ish valeur entrez leif
:false
,0
,null
,undefined
et des chaînes vides, ne le serait pas.if(!data){..}
ne fonctionne pas, alors?Les deux
null
et une chaîne vide sont falsy valeurs en JS. Par conséquent,est tout à fait suffisant.
Une remarque sur le côté pour autant: je voudrais éviter d'avoir une variable dans mon code qui pourrait se manifester dans différents types. Si les données seront éventuellement une chaîne de caractères, alors je voudrais d'abord définir ma variable avec une chaîne vide, de sorte que vous pouvez le faire:
sans le nul (ou bizarres, des trucs comme
data = "0"
) obtenir de la manière.À la fois nulle et vide pourrait être validé comme suit:
l'essayer----------
JS:
HTML: