成员速写

如果对象字面量初始化时,成员的名称来自于一个变量,并且和变量的名称相同,则可以进行简写

  1. function func(name, age, sex) {
  2. return {
  3. // 简写前
  4. // name: name,
  5. // age :age,
  6. // sex :sex,
  7. // 简写后
  8. name,
  9. age,
  10. sex,
  11. }
  12. }
  13. console.log(func('张三','12','男'))

image.png

方法速写

对象字面初始化**时,方法可以省略冒号和function关键字**

  1. var obj = {
  2. // 简写前
  3. // func:function(){
  4. // console.log(123)
  5. // }
  6. // 简写侯
  7. func(){
  8. console.log(123)
  9. }
  10. }

计算属性名

有的时候,初始化对象时,某些属性名**可能来自于某个表达式的值,在ES6,可以使用中括号来表示该属性名是通过计算得到的。**

  1. const prop1 = "name2";
  2. const prop2 = "age2";
  3. const prop3 = "sayHello2";
  4. const user = {
  5. [prop1]: "姬成",
  6. [prop2]: 100,
  7. [prop3](){
  8. console.log(this[prop1], this[prop2])
  9. }
  10. }
  11. user[prop3]();
  12. console.log(user)