過去我們給物件新增屬性,是需要填寫屬性名和屬性值的:
let obj =
在es6中,對物件做出來擴充套件,當你的屬性名和屬性值一樣時,只需要填寫乙個即可:
這種寫法現在被大量應用,很多大佬的開源框架現在都採用這種寫法。身為一名優秀的前端工程師,我們不能拒絕吃語法糖!
物件中的函式屬性在es6中,也有他自己的簡寫形式!
過去我們物件中的函式屬性寫法:
let obj = }obj.init() // 入口函式屬性
es6的簡寫形式:
let obj = }obj.init() // 入口函式屬性
對,沒錯!效果完全一樣!
先說es5的:
for...in 迴圈遍歷物件自身的和繼承的可列舉屬性
en,意思就是說,這個物件有幾個屬性名就迴圈幾次。
for (item in obj) 中, in 左邊為物件的屬性名,in右邊為要遍歷的物件。
object.keys(obj)返回乙個陣列,包括物件自身的(不含繼承的)所有可列舉屬性(不含 symbol 屬性)的鍵名。
意思就是說,會把物件的屬性名抽出來以此放進乙個陣列裡面(不會改變原物件),拿乙個變數來接收即可(buhui)
與object.keys(obj)相應的,object.values(obj)遍歷物件的屬性值,不過這個方法現在瀏覽器的支援還不是很好,建議大家還說用object.keys(obj)拿到屬性名遍歷比較好。
es6中,物件有新增了乙個方法用於將所有可列舉屬性的值從乙個或多個源物件複製到目標物件。它將返回目標物件。
嗯,意思就是說它是合併物件的!!!!
它就是: object.assign(o要合併的物件1,要合併的物件2)
後面還有物件的解構賦值和物件的擴充套件運算子。。太睏了,明天寫
重走es6之es6物件
看到這裡突然就想到,你有物件嗎?我沒有 哭的超大聲 es6中規定可以直接在物件中寫入變數和函式作為物件的屬性和方法,此時屬性名為變數名,屬性值為變數的值。物件的簡寫在專案中使用頻率極其高。let name zhangsan let age 18let obj console.log obj 結果為 ...
ES6系列 ES6簡介
2015年6月17日,ecmascript的第六個版本正式發布,該版本正式名稱為ecmascript 2015,但通常被稱為ecmascript 6或者es6。瀏覽器對es6的支援情況 es6主要應用於node.js,如果想用在瀏覽器中,就需要使用轉碼器 將es6 轉成es5 這意味著,可以用es6...
ES6 細化ES6之 物件的擴充套件
物件的屬性 屬性表示法es6 允許在大括號裡面,直接寫入變數和函式,作為物件的屬性和方法 es5 let name 張無忌 function sayme es5定義物件的屬性和方法的方式 var obj console.log obj.name 張無忌es6 let name 張無忌 functio...