Javascript Object.seal ()

Метод JavaScript Object.seal () запечатывает данный объект.

В seal()методе предотвращает новые свойства от быть добавлены к объекту и отмечают все существующие свойства , как не-настраиваемые.

Синтаксис seal()метода:

 Object.seal(obj)

Этот seal()статический метод вызывается по имени Objectкласса.

seal () Параметры

seal()Метод принимает в:

  • obj - объект, который должен быть запечатан.

Возвращаемое значение из seal ()

  • Возвращает запечатанный объект.

Пример: использование seal ()

 let obj = ( foo: "bar", func: function () (), ); // before sealing, properties can be added, modified, or removed obj.foo = "JavaScript"; obj.value = 5; delete obj.func; // sealing the object o = Object.seal(obj); // can still change property values obj.foo = "bar1"; // no other change // fails silently obj.foo1 = "bar"; delete obj.foo; console.log(obj); // ( foo: 'bar1', value: 5 ) // cannot convert data property to accessors or vice versa Object.defineProperty(obj, "foo", ( get: function () ( return "g"; ), )); // TypeError Cannot redefine property: foo

Вывод

 (foo: 'bar1', значение: 5) TypeError Невозможно переопределить свойство: foo

Примечания :

  • По умолчанию объекты являются расширяемыми (к ним можно добавлять новые свойства). Запечатывание объектов делает свойства объектов фиксированными и неизменяемыми. Значения существующих свойств могут быть изменены, пока они доступны для записи.
  • Object.isSealed() может использоваться, чтобы проверить, запломбирован ли объект или нет.
  • Попытка преобразовать свойство данных в метод доступа или наоборот потерпит неудачу или выбросит TypeError.

Рекомендуемая литература: объект JavaScript isSealed ()

Интересные статьи...