Свойство-константа
Комбинируя writable:false
и configurable:false
вы по сути можете создать константу (не может быть изменена, переопределенна или удалена) в качестве свойства объекта.
"use strict";
var user = {};
Object.defineProperty(user, "name", {
value: "Вася",
writable: false, // запретить присвоение "user.name="
configurable: false // запретить удаление "delete user.name"
});
// Теперь попытаемся изменить это свойство.
// в strict mode присвоение "user.name=" вызовет ошибку
user.name = "Петя";