使用delete操作符来删除一个属性
delete 操作符用于从一个对象中删除键,其键和值从一个对象中删除。
const objUser = { id: 1, name: '张三', age: 24, tel: '13000000000' };
delete objUser['tel'];
console.log(objUser); // {id: 1, name: '张三', age: 24}
或者
delete objUser.tel; // {id: 1, name: '张三', age: 24}
内置方法 Reflect.deleteProperty
const objUser = { id: 1, name: '张三', age: 24, tel: '13000000000' };
Reflect.deleteProperty(userInfo, 'name')
console.log(userInfo) // { id: 1, age: 24, tel: '13000000000' }
ES6解构的语法方法
解构赋值新的变量后,原来的对象不会受影响
const objUser = { id: 1, name: '张三', age: 24, tel: '13000000000' };
const { tel, age, ...newobj } = objUser;
console.log(newobj); // {id: 1, name: '张三'}
console.log(objUser); // {id: 1, name: '张三', age: 24, tel: '13000000000'}
正向获取
把要的字段罗列出来一个新的对象,原来的对象不会受影响
const objUser = { id: 1, name: '张三', age: 24, tel: '13000000000' };
let userData = (({id, name, age}) => ({id, name, age}))(objUser);
console.log(userData); // { id: 1, name: '张三', age: 24 }
console.log(objUser); // {id: 1, name: '张三', age: 24, tel: '13000000000'}