假设我创建一个对象如下:
let myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI",
"regex": "^http://.*"
};
我应该如何删除该属性regex
以得到新myObject
的如下?
let myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI"
};
要从对象中删除属性(改变对象),您可以这样做:
delete myObject.regex;
// or,
delete myObject['regex'];
// or,
var prop = "regex";
delete myObject[prop];
delete
运算符不直接释放内存,它与简单地为属性赋值null
或分配给属性的不同之处在于undefined
,属性本身已从对象中删除。请注意,如果已删除属性的值是引用类型(对象),并且程序的另一部分仍然持有对该对象的引用,那么该对象当然不会被垃圾回收,直到所有对它的引用都已消失了。
delete
仅适用于描述符将其标记为可配置的属性。
我的网站打字练习传送门