Object Descriptors & Property Flags

Why does the last defineProperty call cause an error?
const person = {};

Object.defineProperty(person, 'age', {
  value: 25,
  writable: true,
  enumerable: true,
  configurable: false
});

Object.defineProperty(person, 'age', {
  writable: false
});

try {
  Object.defineProperty(person, 'age', {
    enumerable: false
  });
} catch (e) {
  console.log('Error: ' + e.message);
}
Next Question (15/40)