Maison > Article > interface Web > Décoder JavaScript : maîtriser les valeurs nulles, non définies et vides
Comme nous le savons, JavaScript est un langage typé dynamiquement, ce qui peut parfois nous dérouter lorsqu'il s'agit de valeurs vides ou inexistantes. Dans cet article de blog, nous explorerons les différences entre les chaînes nulles, non définies, vides et les tableaux vides en JavaScript, avec des exemples de code pour illustrer chaque concept.
null est une non-valeur délibérée. Il représente une variable qui a été explicitement définie comme n'ayant aucune valeur.
let myVariable = null; console.log(myVariable); // Output: null console.log(typeof myVariable); // Output: "object"
Remarque : typeof null renvoie un objet, ce qui est une bizarre connue en JavaScript pour des raisons héritées.
undefined représente une variable qui a été déclarée mais qui n'a pas encore reçu de valeur.
let myUndefinedVariable; console.log(myUndefinedVariable); // Output: undefined console.log(typeof myUndefinedVariable); // Output: "undefined" function myFunction(param) { console.log(param); } myFunction(); // Output: undefined
Une chaîne vide est une chaîne valide d'une longueur nulle.
let emptyString = ''; console.log(emptyString); // Output: "" console.log(typeof emptyString); // Output: "string" console.log(emptyString.length); // Output: 0
Un tableau vide est une liste sans éléments.
let emptyArray = []; console.log(emptyArray); // Output: [] console.log(typeof emptyArray); // Output: "object" console.log(Array.isArray(emptyArray)); // Output: true console.log(emptyArray.length); // Output: 0
Comparons ces différents types :
console.log(null == undefined); // Output: true console.log(null === undefined); // Output: false console.log('' == null); // Output: false console.log('' == undefined); // Output: false console.log([] == null); // Output: false console.log([] == undefined); // Output: false console.log(Boolean(null)); // Output: false console.log(Boolean(undefined)); // Output: false console.log(Boolean('')); // Output: false console.log(Boolean([])); // Output: true
function isNullOrUndefined(value) { return value == null; } console.log(isNullOrUndefined(null)); // Output: true console.log(isNullOrUndefined(undefined)); // Output: true console.log(isNullOrUndefined('')); // Output: false console.log(isNullOrUndefined([])); // Output: false
function isEmpty(value) { if (typeof value === 'string') { return value.length === 0; } if (Array.isArray(value)) { return value.length === 0; } return false; } console.log(isEmpty('')); // Output: true console.log(isEmpty([])); // Output: true console.log(isEmpty('hello')); // Output: false console.log(isEmpty([1, 2, 3])); // Output: false
Comprendre les différences entre les chaînes nulles, non définies, vides et les tableaux vides est crucial pour écrire du code JavaScript propre et sans bug. Chacun a ses cas d’utilisation et se comporte différemment dans les comparaisons et les vérifications de type. En utilisant correctement ces valeurs et en connaissant leurs nuances, vous pouvez écrire des applications JavaScript plus robustes et plus maintenables.
N'oubliez pas de toujours prendre en compte le contexte de votre application lorsque vous décidez lequel d'entre eux utiliser, et soyez cohérent dans votre approche tout au long de votre base de code.
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!