删除与在javascript中将对象属性设置为未定义

删除与在javascript中将对象属性设置为未定义,javascript,Javascript,假设您有一个对象的实例,obj,并且想要取消设置一个名为prop的属性。以下两种变体的最大区别是什么: delete obj.prop; obj.prop = undefined; 我相信这两者的含义是相同的,但是如果将属性设置为undefined,则不必删除对属性的引用,这样可以节省一些工作。如果我错了,请纠正我。两者含义相同-不。在第一种情况下,prop不是obj的属性,但在第二种情况下,prop是obj的属性,值未定义。也许先试试。

假设您有一个对象的实例,
obj
,并且想要取消设置一个名为
prop
的属性。以下两种变体的最大区别是什么:

delete obj.prop;
obj.prop = undefined;

我相信这两者的含义是相同的,但是如果将属性设置为undefined,则不必删除对属性的引用,这样可以节省一些工作。如果我错了,请纠正我。

两者含义相同-不。在第一种情况下,
prop
不是
obj
的属性,但在第二种情况下,
prop
obj
的属性,值
未定义。也许先试试。