首页 > 解决方案 > this.some = undefined 与 delete this.some 之间的区别

问题描述

嘿,我正在阅读删除运算符的文档,但我看不到任何显着的性能差异(在大多数用例中):

const myObj = {
    name: 'Juan',
    last: 'Molina'
};

delete myObj.last;    // myObj.last = undefined
console.log(myObj);   // {name: 'Juan'} 

我发现的唯一区别是 delete 命令区分了自己的属性和链属性,但我认为这是一种特定情况。

标签: javascript

解决方案


delete顾名思义:它从对象中删除属性。

与此相反,简单地分配undefined给该属性并不会删除它

const myObj = {
    name: 'Juan',
    last: 'Molina'
};

myObj.last = undefined
console.log(myObj);   // { "name": "Juan", "last": undefined }


推荐阅读