javascript属性删除

sit*_*sys 4 javascript

只是想知道这个:

什么是差异,或者是否存在差异:

delete obj.someProperty
Run Code Online (Sandbox Code Playgroud)

obj.someProperty=undefined
Run Code Online (Sandbox Code Playgroud)

kas*_*ens 5

第二个版本将属性设置为现有值,undefined而第一个版本从对象中删除键.迭代对象或使用in关键字时可以看到差异.

var obj = {prop: 1};
'prop' in obj; // true
obj.prop = undefined;
'prop' in obj; // true, it's there with the value of undefined
delete obj.prop;
'prop' in obj; // false
Run Code Online (Sandbox Code Playgroud)