Я пытаюсь защитить свойство объекта от перезаписи консолью. например У меня есть объект человек со списком аллергий как собственность. Список аллергий должен быть в состоянии изменить, однако он всегда должен быть списком, и следует выдавать ошибку, если пользователь пытается написать 'person.allergies = "nonsense"'
Я пытался изучить Object.freeze () и Object.seal (), но не могу заставить их работать для этой цели, так как я не верю, что есть способ разморозить объект.
class Person {
constructor(name){
this.name = name
this.allergies = []
}
addAllergy(allergy){
this.allergies.push(allergy)
return allergy
}
}
ben = new Person('Ben') // Creating a new Object
ben.addAllergy('Dairy') // Giving the object a new allergy
ben.allergies // Should output ['Dairy']
ben.allergies = 'Soy' // Should make no changes to ben object.