创建对象,属性操作

创建对象
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)){}

 

posted @ 2022-11-01 23:24  new一个小洛  阅读(30)  评论(0编辑  收藏  举报