Как удалить свойство из объекта JavaScript

FavoriteLoadingДобавить в избранное

JavaScript предоставляет несколько способов удаления свойства из объекта. Один из способов - использовать оператор delete, который используется для удаления свойства объекта. Вот пример:

let obj = {
name: "John",
age: 30
};
console.log(obj); // Вывод: { name: "John", age: 30 }
delete obj.name;
console.log(obj); // Вывод: { age: 30 }

В этом примере мы сначала создаём объект с двумя свойствами: name и age. Затем мы используем оператор delete для удаления свойства name из объекта. После использования оператора удаления объект больше не имеет свойства name, и его значение не определено.
Другой способ удалить свойство из объекта - использовать метод Object.defineProperty(). Этот метод можно использовать для изменения дескриптора свойства существующего свойства, что включает в себя возможность сделать свойство не настраиваемым и следовательно невозможным для удаления. Вот пример:

let obj = {
name: "John",
age: 30
};
console.log(obj); // Вывод: { name: "John", age: 30 }
Object.defineProperty(obj, "name", {
configurable: false
});
delete obj.name;
console.log(obj); // Вывод: { name: "John", age: 30 }

В этом примере мы сначала создаем объект с двумя свойствами: name и age. Затем мы используем этот метод Object.defineProperty(), чтобы сделать name свойство не настраиваемым. После этого мы пытаемся удалить свойство name, но оно всё ещё там.
Наконец, мы можем использовать этот метод Object.assign() для удаления свойства объекта. Метод Object.assign() создаёт новый объект, который является копией исходного объекта без указанного свойства. Вот пример:

let obj = {
name: "John",
age: 30
};
console.log(obj); // Вывод: { name: "John", age: 30 }
let newObj = Object.assign({}, obj);
delete newObj.name;
console.log(newObj); // Вывод: { age: 30 }

В этом примере мы сначала создаем объект с двумя свойствами: name и age. Затем мы используем этот метод Object.assign() для создания нового объекта, который является копией исходного объекта. Затем мы удаляем свойство name из нового объекта.

Написать Администратору

Вы можете написать Администратору сайта.

отправить