业务开发中,需要将对象某个属性进行删除
那么有哪些方法呢
delete
delte b
delete 是无法删除必选属性的,除非你手动来指定这个属性为可选
delete 其实只能删除,对象本身的属性而不是原型链上的属性,同时当你配置了 Object.
Object.defineProperty 设置为 configurable: false 那就无法删除了
但是这个严格模式貌似无法删除
const myObj = { name: 'John Doe', age: 30, city: 'New York' }; // 删除 age 属性
delete myObj.age; // 检查 age 是否已删除 console.log(myObj.age);
// undefined console.log('age' in myObj); // false // 输出剩余属性 console.log(myObj); // 输出: // { name: 'John Doe', city: 'New York' }
Reflect delete
const myObj = { name: 'John Doe', age: 30, city: 'New York' }; // 删除 age 属性
const result = Reflect.deleteProperty(myObj, 'age');
console.log(result); // true console.log(myObj);
// { name: 'John Doe', city: 'New York' }
对象解构
const {b,...obj} = {b:1,c:3,d:4};
获取obj
object.assign
const b= {a:3,b:4}
const c = object.assign({},b)
delete c.a