:今天說(shuō)一下對(duì)象的擴(kuò)展饵隙。
ES6中撮珠,允許在大括號(hào)里面直接寫(xiě)入變量和函數(shù),作為對(duì)象的屬性和方法金矛,
可以看到這兩種寫(xiě)法結(jié)果一樣芯急,上面呢個(gè)更為簡(jiǎn)潔;屬性名就是變量名驶俊,屬性值就是變量值娶耍。
除了屬性簡(jiǎn)寫(xiě),方法也可以簡(jiǎn)寫(xiě)饼酿;
下面說(shuō)一下ES6中一共有五種方法可以遍歷對(duì)象的屬性榕酒。
1》胚膊;for...in
循環(huán)遍歷對(duì)象自身和繼承的可枚舉屬性
2》:Object.keys(obj)
返回一個(gè)數(shù)組包含對(duì)象自身的所有可枚舉屬性
3》:Object.getOwnPropertynames(obj)
返回一個(gè)數(shù)組,包含對(duì)象自身所有屬性的鍵名
4》:Object.getOwnPropertySymbols(obj)
返回一個(gè)數(shù)組想鹰,包含對(duì)象自身的所有Symbol屬性的鍵名紊婉;
5》Reflect.ownKeys(obj)
返回一個(gè)數(shù)組,包含對(duì)象自身的所有鍵名辑舷;
對(duì)象的擴(kuò)展運(yùn)算符喻犁,
昨天講到了數(shù)組的擴(kuò)展運(yùn)算符,今天講一下對(duì)象中怎么運(yùn)用何缓;
解構(gòu)賦值必須是最后一個(gè)參數(shù)否則會(huì)報(bào)錯(cuò)肢础;
注意一點(diǎn):解構(gòu)賦值的拷貝是淺拷貝。即如果一個(gè)鍵的值是復(fù)雜類(lèi)型的值(數(shù)組碌廓,對(duì)象乔妈,函數(shù)),那么解構(gòu)賦值拷貝的是這個(gè)值的引用氓皱,而不是這個(gè)值 的副本;
擴(kuò)展運(yùn)算符的解構(gòu)賦值勃刨,不能復(fù)制繼承自原型對(duì)象的屬性波材。
o3復(fù)制了o2的屬性,但是并沒(méi)有復(fù)制他的原型對(duì)象o1的屬性身隐;
對(duì)象的擴(kuò)展運(yùn)算符(...)用于取出參數(shù)對(duì)象的所有可遍歷屬性廷区,拷貝到當(dāng)前對(duì)象之中;
數(shù)組是特殊的對(duì)象贾铝,對(duì)象的擴(kuò)展運(yùn)算符也可以用于數(shù)組
如果擴(kuò)展運(yùn)算符后面是一個(gè)空對(duì)象隙轻,則沒(méi)有任何效果。