Maison  >  Article  >  interface Web  >  Comment vérifier de manière fiable les chaînes nulles et vides en JavaScript ?

Comment vérifier de manière fiable les chaînes nulles et vides en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-21 22:52:02351parcourir

How to Reliably Check for Null and Empty Strings in JavaScript?

Vérification des valeurs nulles en JavaScript

En JavaScript, la vérification des valeurs nulles peut être délicate. Prenons l'exemple suivant :

<code class="js">if (pass == null || cpass == null || email == null || cemail == null || user == null) {
  alert("fill all columns");
  return false;
}</code>

Pourquoi ce code ne fonctionne-t-il pas comme prévu ?

La raison est que les contrôles d'égalité de JavaScript (== et !=) sont coercibles par type. Cela signifie que JavaScript tentera de convertir les valeurs comparées au même type avant d'effectuer la comparaison. Dans ce cas, null sera contraint à la chaîne vide, qui est considérée comme une valeur « fausse » en JavaScript. Par conséquent, toutes les conditions du code ci-dessus seront toujours évaluées comme fausses, quelles que soient les valeurs réelles des variables.

Vérification des valeurs fausses

Pour vérifier les valeurs nulles en JavaScript , il est plus fiable d'utiliser des contrôles d'égalité stricts (=== et !===). Ces vérifications n'effectuent pas de coercition de type et ne retourneront vrai que si les valeurs comparées sont du même type et de la même valeur.

<code class="js">if (pass === null || cpass === null || email === null || cemail === null || user === null) {
  alert("fill all columns");
  return false;
}</code>

Vérification des chaînes vides

Cependant, dans ce scénario particulier , il semble que vous essayiez réellement de rechercher des chaînes vides (""). Dans ce cas, vous pouvez utiliser le code simplifié suivant :

<code class="js">if (!pass || !cpass || !email || !cemail || !user) {
  alert("fill all columns");
  return false;
}</code>

Ce code vérifiera les chaînes vides, nulles, indéfinies, fausses et les nombres 0 et NaN. Notez que pour les valeurs numériques, il est préférable d'utiliser des contrôles d'égalité stricts (num === 0 ou num !== -1) pour éviter les faux positifs inattendus.

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