创建对象
let obj = {};
let obj = new Object();
let obj = Object.create(null); //不能不传值,null表示空值
let obj = Object.assign(obj1, obj2, obj3); // **操作obj1对象。** 把后面的对象依次合并到obj1里,如有同名属性,后面覆盖前面。
属性操作
//设置
obj.prop = a;
obj[prop] = b; //不受有效变量名约束; 可传变量
//获取
obj.prop obj[prop]
Object.keys(obj)
Object.entries(obj) //方法返回一个给定对象自身可枚举属性的键值对数组
Reflect.ownKeys(obj);//返回一个由目标对象自身的属性键组成的数组
//添加
obj.x = null;
Object.assign(obj,{x:null});
//删除
delete obj.prop;
Reflect.deleteProperty(obj, "x");
//判断
"prop" in obj;
/**
function Person(){}
Person.prototype.name = 'aaa';
let p1 = new Person();
console.log("name" in p1); //true
**/
obj.hasOwnProperty('prop'); //仅判断自身属性,不获取原型属性
//遍历
for(let key in obj){}
for(let key of Object.keys(obj)){}