将属性设置为 undefined 不是最好的方法,因为属性本身仍将存在于对象中。它还会改变原始对象,这可能是你所不希望的。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了平桥免费建站欢迎大家使用!
- const pet = {
- species: 'dog',
- age: 3,
- name: 'celeste',
- gender: 'female'
- };
- pet.gender = undefined;
- Object.keys(pet); // ['species', 'age', 'name', 'gender']
从技术上讲用 delete 操作符是从 JavaScript 对象中删除属性的正确方法。与上一个方法不同,delete 将完全从对象中删除属性,但它仍然会导致原始对象的发生改变。
- const pet = {
- species: 'dog',
- age: 3,
- name: 'celeste',
- gender: 'female'
- };
- delete pet.gender;
- Object.keys(pet); // ['species', 'age', 'name']
通过用展开运算符(...)可以将需要省略特定属性的对象解构到新对象。这个技巧在需要删除多个属性时特别有用,并且不会更改原始对象。
- 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']