Я пытаюсь удалить свойство из Person
объекта следующим образом:
const Person = {
firstname: 'John',
lastname: 'Doe'
}
console.log(Person.firstname);
// Output: "John"
delete Person.firstname;
console.log(Person.firstname);
// Output: undefined
Когда я использую этот оператор delete
работает нормально, а Person.firstname
журнал показывает как undefined
, как и ожидалось. Но когда я создаю новый объект, используя этот Person
объект, используя Object.create()
метод, подобный этому:
const Person = {
firstname: 'John',
lastname: 'Doe'
}
const Person2 = Object.create(Person);
console.log(Person2.firstname);
// Output: "John"
delete Person2.firstname;
console.log(Person2.firstname);
// expected output: undefined
// actual output: "John"
Вы можете видеть, что Person2.firstname
возвращает «Джона» в конце, когда я ожидал, что он будет работать так же, как в первом фрагменте, и вернет undefined
.
Итак, мои вопросы здесь:
- Почему
delete Person2.firstname
не работает? - Кроме того, как мы можем удалить свойство
firstname
из Person2
объект?
Спасибо за помощь.