> 游戏
es6对象方法简写(es6对象赋值)
导语:每天学点 ES6 —— 对象
相关 es6 文章:
简介
块级作用域
const命令
解构赋值
数组(一)
数组(二)
函数(一)
函数(二)
函数(三)
对象的属性
1. 属性名可省略
es6中 当对象中的key:vlaue 键值对,如果value是个变量/函数,此时省略key,key的值就是变量名/函数名。
var a=1;var obj={ a, fn(){console.log(1)}};obj;//{a:1,fn:fn(){console.log(1)}}
2. 属性名可为变量
实际上大多数浏览器都已支持此方式
var a='name';var obj={};obj[a]='全栈前端';
3. 属性的描述器(Descriptor)
属性的此对象用来控制属性的行为,常用到枚举(enumerable)
查看属性的描述器:Object.getOwnPropertyDescriptor(object, key)
var obj={a:1};Object.getOwnPropertyDescriptor(obj, 'a');//{value: 1, writable: true, enumerable: true, configurable: true}
4. 可枚举性
属性的 enumerable 值,不可枚举时以下操作会忽略此属性:
1. for...in... 循环
for in 循环也会遍历到继承的属性(最初枚举只为了遍历避开某些属性,比如toString方法等)
2. Object.keys()
3. JSON.stringify()
4. Object.assign()
5. Reflect.enumerable()
ES6对象常用的方法
1. 合并对象 Object.assign(target, sources...)
此方法将其他对象的可枚举属性浅合并到目标对象里,重复的会被覆盖
var obj={a:1};var obj1={b:2};Object.assign(obj,obj1);obj;//{a: 1, b: 2}
注:克隆对象可使用此方法解决
ES6对象不常用方法
1. Object.is(val1,val2)
比较2个值是否全等相,基本同 === (NaN比较和+0,-0比较结果不同)
文章到这里结束,限于篇幅,有什么迷惑的地方,欢迎留言
【前方雾大,关注一下不迷路 = 。=】
【html】【css】【html】【css】【javascript】【html】【javascript】【css】【javascript】【css】
本文内容由小涵整理编辑!