Vérifier si un objet est profondément congelé

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28416{{"Vérifier si un objet est profondément congelé"}} javascript/data_types -.-> lab-28416{{"Vérifier si un objet est profondément congelé"}} javascript/arith_ops -.-> lab-28416{{"Vérifier si un objet est profondément congelé"}} javascript/comp_ops -.-> lab-28416{{"Vérifier si un objet est profondément congelé"}} javascript/array_methods -.-> lab-28416{{"Vérifier si un objet est profondément congelé"}} javascript/destr_assign -.-> lab-28416{{"Vérifier si un objet est profondément congelé"}} end

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 :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Utilisez la récursion pour vérifier si toutes les propriétés de l'objet sont profondément congelées.
  3. Utilisez Object.isFrozen() sur l'objet donné pour vérifier s'il est superficiquement congelé.
  4. Utilisez Object.keys() pour obtenir toutes les propriétés de l'objet et Array.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.