第二种才是正规的,第一种是大家的简化版
let a={}; //以下都以a为对象来阐述
let a=new Object();
delete a.属性名 //只有这样才能删除
a.属性名=undefined //只是将a的这个属性置为undefined,实际上还存在
Object.keys(a) //数组形式查看属性值
Object.values(a) //数组形式查看属性名
Object.entries(a) //数组形式查看属性名和值
属性名 in a //判断a的所有属性名里是否有该'属性名'
a.hasOwnProperty(属性名) //判断a的自有属性名里是否有该'属性名'
console.log.dir(a) //打印a的所有属性名和值
a.属性名=属性值;
a[属性名]=属性值;(属性名可以是变量)
Object.assign(a,{属性名:属性值,属性名2:属性值2}) //批量修改a的属性
'name' in obj:'name'是obj的自有属性或者共有属性,都会返回true
而obj.hasOwnProperty('name'): 只有在'name'为自有属性时才会返回true,共有属性会返回false