简写方式

ES6中对象的属性都可以进行简写

属性简写

  1. let name = "111"
  2. let obj = {
  3. name
  4. }
  • 如果属性名与属性值使用的变量同名,那么可以简写为一个

方法简写

let obj = {
    method(){
        console.log(111);
    },
  *g() {}
}
  • 如果方法是使用function声明,那么冒号和function关键字都能去掉
  • Genetator函数作为方式时,只需要在前面加个星号

异步方法

ES6可以在对象中添加异步函数,ES5不允许

let obj = {
    * asyncMethod(){
        console.log(111);
    }
}

属性名表达式

ES6中可以在对象声明时,就动态设置属性名

const key = '我是变量'
const getKey = () => '我是表达式'

const obj = {
    [key]: 777,
  [getKey()]: 888,
  [key + getKey()]: 999
}
  • 通过 [] 动态设置属性名,里面可以是变量,也可以是一个表达式
  • ES5中只能在对象声明完成后,再进行添加