搜索
写经验 领红包
 > 游戏

es6对象方法简写(es6对象赋值)

导语:每天学点 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】

本文内容由小涵整理编辑!