每天學點 ES6 —— 對象

相關 es6 文章:

對象的屬性

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比較結果不同)


文章到這裡結束,限於篇幅,有什麼迷惑的地方,歡迎留言

【前方霧大,關注一下不迷路 = 。=】

每天學點 ES6 —— 對象

【html】【css】【html】【css】【javascript】【html】【javascript】【css】【javascript】【css】


分享到:


相關文章: