碎片時間學(xué)編程「292]:如何從 JavaScript 對象中刪除屬性?

在 JavaScript 中處理對象時,您可能會遇到應(yīng)從對象中完全刪除屬性的情況。要做到這一點,您可以使用以下幾種選擇:
將屬性設(shè)置為未定義
將屬性設(shè)置為undefined通常不是最佳選擇,因為屬性本身仍將存在于對象中,盡管undefined它還會改變原始對象,這可能是不希望的。如果您檢查屬性的值或真實性而不是它的存在,您可能想使用它。
JavaScript
const pet = { ?species: 'dog', ?age: 3, ?name: 'celeste', ?gender: 'female'};pet.gender = undefined;Object.keys(pet); // ['species', 'age', 'name', 'gender']
使用刪除運算符 從技術(shù)上講,運算符 delete 是從 JavaScript 對象中刪除屬性的正確方法。與前面的選項不同,delete將完全從對象中刪除屬性,但它仍然會導(dǎo)致突變。
const pet = { ?species: 'dog', ?age: 3, ?name: 'celeste', ?gender: 'female' }; delete pet.gender; Object.keys(pet); // ['species', 'age', 'name']
使用對象解構(gòu) 使用擴(kuò)展語法 ( ...),您可以解構(gòu)對象并將省略特定屬性的對象分配給新對象。這個技巧會派上用場,特別是如果想刪除屬性的一個子集,并且具有不改變原始對象的額外好處。
const pet = { ?species: 'dog', ?age: 3, ?name: 'celeste', ?gender: 'female'};const { gender, ...newPet } = pet;Object.keys(pet); // ['species', 'age', 'name', 'gender]Object.keys(newPet); // ['species', 'age', 'name']
更多內(nèi)容請訪問我的網(wǎng)站:https://www.icoderoad.com