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 : le type de 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 à laquelle aucune valeur n'a encore été attribuée.
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 tenir compte du 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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3