Maison >interface Web >js tutoriel >Comment puis-je tester efficacement les objets JavaScript vides ?
Test des objets JavaScript vides
Lors du traitement des réponses AJAX, il est courant de rencontrer des objets vides, tels que var a = {};. Déterminer si un objet est vide est crucial pour diverses tâches d'application.
Object.hasOwn() et for...in Loop :
Pour les environnements ECMAScript 2022, le La méthode Object.hasOwn() peut être utilisée en conjonction avec une boucle for...in pour vérifier les objets vides :
function isEmpty(obj) { for (const prop in obj) { if (Object.hasOwn(obj, prop)) { return false; } } return true; }
Cette méthode parcourt toutes les propriétés propres de l'objet, et si une propriété est trouvée, elle indique un objet non vide.
Distinguer les objets vides des objets sans propriétés propres :
Si vous devez faire la différence entre des objets vides de type {} et des objets sans propriétés propres (par exemple, des dates), des vérifications de type supplémentaires peuvent être effectué :
function isEmptyObject(value) { if (value == null) { return false; // null or undefined } if (typeof value !== 'object') { return false; // boolean, number, string, etc. } const proto = Object.getPrototypeOf(value); if (proto !== null && proto !== Object.prototype) { return false; // consider 'Object.create(null)' } return isEmpty(value); }
Méthodes alternatives :
Si vous n'avez pas accès aux fonctionnalités ES 2022, vous pouvez utiliser l'ancien Object.prototype.hasOwnProperty.call () méthode :
function isEmpty(obj) { for (var prop in obj) { if (Object.prototype.hasOwnProperty.call(obj, prop)) { return false; } } return true; }
Bibliothèque populaire Fonctions :
De nombreuses bibliothèques populaires fournissent également des fonctions pour vérifier les objets vides :
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!