创建对象,属性操作
创建对象
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)){}