Deep Freeze Object

Beginner

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

Введение

В этом практическом занятии мы изучим, как.deep freeze объект в JavaScript. Мы узнаем, как использовать метод Object.freeze() рекурсивно для заморозки всех свойств объекта, чтобы сделать его неизменяемым. В конце этого практического занятия вы будете лучше понимать, как предотвратить модификацию объектов и обеспечить целостность данных в своем коде JavaScript.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 92%. Он получил 100% положительных отзывов от учащихся.

Как.deep freeze объект в JavaScript

Чтобы.deep freeze объект в JavaScript, следуйте следующим шагам:

  1. Используйте Object.keys(), чтобы получить все свойства переданного объекта.
  2. Перебирайте свойства с использованием Array.prototype.forEach().
  3. Рекурсивно вызовите Object.freeze() для всех свойств, которые являются объектами, применяя deepFreeze() при необходимости.
  4. Наконец, используйте Object.freeze(), чтобы заморозить заданный объект.

Вот код:

const deepFreeze = (obj) => {
  Object.keys(obj).forEach((prop) => {
    if (typeof obj[prop] === "object") deepFreeze(obj[prop]);
  });
  return Object.freeze(obj);
};

Вы можете протестировать.deep frozen объект с использованием следующего кода:

"use strict";

const val = deepFreeze([1, [2, 3]]);

val[0] = 3; // не разрешается
val[1][0] = 4; // также не разрешается

Вышеприведенный код вызовет ошибку, так как объект val.deep frozen и не может быть модифицирован.

Резюме

Поздравляем! Вы завершили практическое занятие по.deep freeze объекту. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.