物件在 JavaScript 中是非常重要的資料結構,而在 ES6 之後擴展了它的語法結構,讓表示法變得更簡單易懂,還增加了屬性名稱的動態改變。
// 對物件直接寫入變數和函數,省略了許多關鍵詞
let birth = '2018/01/01';
let person = {
name: '老王',
// 等同於 birth: birth
birth,
// 等同於 sayHello: function() {...}
sayHello() {
console.log('My name is '+ this.name + ' ' + this.birth);
}
};
person.sayHello(); // 'My name is 老王 2018/01/01'
// 簡化函數的物件返回值
function getPoint() {
let x = 5;
let y = 10;
return {x, y};
}
console.log(getPoint()); // { x: 5, y: 10 }
[]
包覆,但內容還是只能使用字串
// 定義物件時,屬性名稱是可變化的
let key = 'Hello';
let obj = {
[key]: true,
['a' + 'bc']: 123
};
console.log(obj); // { Hello: true, abc: 123 }