Здесь все нормально. При попытке присвоить writable значения true, в консоли выводится ошибка, что свойство gender не смогло переопределится. person - объект
Object.defineProperty(person, 'gender',
{
value: 'male',
writable: false,
enumerable: true,
configurable: false
});
Object.defineProperty(person, 'gender', {
writable: true
});
Однако, если изначально определить значение true у атрибута writable, а потом попытаться переопределить это значение на false, то ошибки не будет, хотя configurable имеет все то же значение. Но при этом, если переопределить значение enumerable на false, то ошибка появится. Как вы можете объяснить такое поведение?