Introduction
Dans ce laboratoire, nous allons apprendre à vérifier si un objet est profondément congelé en JavaScript. Le laboratoire nous guidera à travers une fonction récursive qui utilise Object.isFrozen() pour déterminer si un objet est congelé et Object.keys() avec Array.prototype.every() pour vérifier tous les clés pour la congélation profonde. À la fin de ce laboratoire, nous aurons une meilleure compréhension de la manière de déterminer l'état de congélation profonde d'un objet en JavaScript.
Comment vérifier si un objet est profondément congelé
Pour vérifier si un objet est profondément congelé, utilisez les étapes suivantes en JavaScript :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Utilisez la récursion pour vérifier si toutes les propriétés de l'objet sont profondément congelées.
- Utilisez
Object.isFrozen()sur l'objet donné pour vérifier s'il est superficiquement congelé. - Utilisez
Object.keys()pour obtenir toutes les propriétés de l'objet etArray.prototype.every()pour vérifier que toutes les clés sont soit des objets profondément congelés soit des valeurs non objets.
Voici un extrait de code d'exemple pour vérifier si un objet est profondément congelé :
const isDeepFrozen = (obj) =>
Object.isFrozen(obj) &&
Object.keys(obj).every(
(prop) => typeof obj[prop] !== "object" || isDeepFrozen(obj[prop])
);
Vous pouvez utiliser la fonction isDeepFrozen pour vérifier si un objet est profondément congelé comme ceci :
const x = Object.freeze({ a: 1 });
const y = Object.freeze({ b: { c: 2 } });
isDeepFrozen(x); // true
isDeepFrozen(y); // false
Résumé
Félicitations ! Vous avez terminé le laboratoire Vérifier si un objet est profondément congelé. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.