2.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.4 KiB
		
	
	
	
	
	
	
	
title, localeTitle
| title | localeTitle | 
|---|---|
| Object Freeze | Замораживание объекта | 
Замораживание объекта
Метод Object.freeze() объект. Замороженный объект не позволит вам :
- Добавление к нему новых свойств
 - Удаление существующих от него прав
 - Изменение перечислимости, конфигурируемости или возможности записи существующих свойств
 
Синтаксис
Object.freeze(obj) 
параметры
obj
- Объект для замораживания.
 
Возвращает
Замороженный объект.
Важная заметка
Попытка добавления, удаления или изменения свойств замороженного объекта приведет к сбою. Этот отказ будет либо тихим, либо брошенным TypeError (если включен Strict Mode). Кроме того, Object.freeze() является неглубокой операцией. Это означает, что вложенный объект замороженного объекта может быть изменен.
пример
// Create your object 
 let person = { 
  name: 'Johnny', 
  age: 23, 
  guild: 'Army of Darkness', 
  hobbies: ['music', 'gaming', 'rock climbing'] 
 } 
 
 // Modify your object 
 person.name = 'John' 
 person.age = 24 
 person.hobbies.splice(1,1) 
 delete person.guild 
 
 // Verify your object has been modified 
 console.log(person) // { name: 'John', age: 24, hobbies: ['music', 'rock climbing'] 
 
 // Freeze your object 
 Object.freeze(person) 
 
 // Verify that your object can no longer be modified 
 person.name = 'Johnny' // fails silently 
 person.age = 23 // fails silently 
 console.log(person) // { name: 'John', age: 24, hobbies: ['music', 'rock climbing'] 
 
 // The freeze is "shallow" and nested objects (including arrays) can still be modified 
 person.hobbies.push('basketball') 
 consol.log(person.hobbies) // ['music', 'rock climbing', 'basketball']