相關 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比較結果不同)
文章到這裡結束,限於篇幅,有什麼迷惑的地方,歡迎留言
【前方霧大,關注一下不迷路 = 。=】
【html】【css】【html】【css】【javascript】【html】【javascript】【css】【javascript】【css】
閱讀更多 全棧前端 的文章
關鍵字: HTML 對象 JavaScript