JavaScript Object.freeze ()

Метод JavaScript Object.freeze () заморожує об'єкт.

Заморожений об'єкт більше не можна змінити. Заморожування об'єкта запобігає:

  • Нові властивості від додавання до об’єкта.
  • Існуючі властивості, які слід видалити з об’єкта.
  • Зміна перелічуваності, конфігурації або запису до існуючих властивостей.
  • Зміна значень властивостей існуючого об’єкта та прототипу.

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

 Object.freeze(obj)

freeze()Метод, який є статичний метод, викликаються з допомогою Objectімені класу.

freeze () Параметри

freeze()Метод приймає в:

  • obj - об'єкт, який слід заморозити.

Повернене значення із заморожування ()

  • Об'єкт, який передано функції.

Примітки :

  • Будь-які спроби додавати або видаляти із властивостей набору заморожених об'єктів не вдаватимуться ні мовчки, ні кидати TypeError(в основному, коли в суворому режимі).
  • Об’єкти, опечатані, Object.seal()можуть змінити їхні існуючі властивості, тоді як існуючі властивості змінюються Object.freeze().

Приклад: Використання функції freeze ()

 let obj = ( prop: function () (), foo: "bar", ); let o = Object.freeze(obj); console.log(o == obj); // True -> Returns the same object console.log(Object.isFrozen(obj)); // true // changes will fail silently obj.foo = "bar1"; console.log(obj.foo); // bar // does not add silently obj.new_foo = "bar"; console.log(obj.new_foo); // undefined // Following will also throw error // Object.setPrototypeOf(obj, ( x: 20 ))

Вихідні дані

 true true бар undefined

Примітка : Object.freeze(obj)застосовується лише до безпосередніх властивостей obj. Якщо значення цих властивостей є самими об'єктами, ці об'єкти не заморожуються і можуть бути об'єктом операцій додавання, видалення або перепризначення властивостей.

Рекомендуємо прочитати: Ущільнення об’єкта JavaScript ()

Цікаві статті...