Maison > interface Web > js tutoriel > Comment puis-je tester efficacement les objets JavaScript vides ?

Comment puis-je tester efficacement les objets JavaScript vides ?

DDD
Libérer: 2024-12-21 16:37:10
original
794 Les gens l'ont consulté

How Can I Effectively Test for Empty JavaScript Objects?

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;
}
Copier après la connexion

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);
}
Copier après la connexion

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;
}
Copier après la connexion

Bibliothèque populaire Fonctions :

De nombreuses bibliothèques populaires fournissent également des fonctions pour vérifier les objets vides :

  • jQuery : $.isEmptyObject({})
  • lodash : _ .isEmpty({})
  • Soulignement : _.isEmpty({})
  • Hoek : Hoek.deepEqual({}, {})
  • ExtJS : Ext.Object.isEmpty({})
  • AngularJS ( version 1) : angulaire.equals({}, {})
  • Ramda : R.isEmpty({})

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal