删除对象属性, 改变原对象或不改变原对象

一、改变原来对象delete

(一)用处

删除对象的属性
eg:
var person = {
name: ‘ll’,
age: ‘12’
};
delete person.name;
console.log(person);

结果:
在这里插入图片描述
(二)注意事项:

(1)不可以删除用var 、 const定义的变量;***注:***是指对象里的属性,不是指该对象不能用var 或 const。
eg:
var a = 123; 或 const b = 456; 如果它们是对象的属性就无法用delete删除。
(2)删除成功 delete person.name;为true。
(3)如果属性不存在,仍然删除,返回的值却是true。

(三)使用时出现的问题

在vue子组件里接收对象,this.list;
const obj = this.list;
delete obj.id;
结果不仅obj改变,this.list也发生改变,影响后面使用this.list。
eg:
删除对象属性, 改变原对象或不改变原对象_第1张图片
但如果后面不需要使用原对象就可以使用该方法。

二、不改变原对象

(一)使用如图,局限是只可以删除对象开头的属性。
在这里插入图片描述
(二)使用delete改良版
要点:下图代码标亮处。
删除对象属性, 改变原对象或不改变原对象_第2张图片
结果:
在这里插入图片描述

你可能感兴趣的:(删除对象属性)