ES6_06、对象的扩展

目录

一、对象的简化写法: 

二、Object.is() 用来比较两个值是否相等(NaN能判断其相等,-0和+0不等)

三、Object.assign():合并/复制对象   数组也可以


一、对象的简化写法: 

let name="ty";
let age=15;
let json={//es6新增的对象的写法 
	name,
	age,
	showA(){}//不要使用箭头函数
};
console.log(json);

二、Object.is() 用来比较两个值是否相等(NaN能判断其相等,-0和+0不等

三、Object.assign():合并/复制对象   数组也可以

let a={a:1};
let b={b:2,a:5};
let c={c:3};
let json=Object.assign({},a,b,c);//合并对象,后面的覆盖前面的;
console.log(json);

四、Object.values(),Object.keys(),Object.entries()可简写为values(),keys(),entries()

let {keys,values,entries} =Object;//结构赋值,方便下面简写
let json={a: 5, b: 2, c: 3}

for(let key of keys(json)){
	console.log(key);
}
// for(let item of json){//数组遍历方法,不能直接用于对象
// 	console.log(item);
// }
for(let item of values(json)){
	console.log(item);
}
for(let item of entries(json)){
	console.log(item)
}
for(let [key,value] of entries(json)){
	console.log(key,value)
}

五、对象的扩展运算符 ...

六、Object.defineProperty的使用

	let obj={
		test:'hello'
	};
	Object.defineProperty(obj,'test',{
		configurable:true | false, //是否可以删除目标属性或是否可以再次修改属性的特性 默认false
		enumerable:true | false,//此属性是否可以被枚举 默认false
		value:'任意类型的值', //属性对应的值 默认undefined
		writable:true | false //属性是否可以被重写 默认false
	})

	Object.defineProperty(obj,'newKey',{
		configurable:true | false,
		enumerable:true | false,
		value:'任意类型的值',
		writable:true | false
	})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值