5. 对象词法扩展

ES6 允许声明在对象字面量时使用简写语法,来初始化属性变量和函数的定义方法,并且允许在对象属性中进行计算操作:

  1. function getCar(make, model, value) {
  2. return {
  3. // 简写变量
  4. make, // 等同于 make: make
  5. model, // 等同于 model: model
  6. value, // 等同于 value: value
  7. // 属性可以使用表达式计算值
  8. ['make' + make]: true,
  9. // 忽略 `function` 关键词简写对象函数
  10. depreciate() {
  11. this.value -= 2500;
  12. }
  13. };
  14. }
  15. let car = getCar('Barret', 'Lee', 40000);
  16. // output: {
  17. // make: 'Barret',
  18. // model:'Lee',
  19. // value: 40000,
  20. // makeBarret: true,
  21. // depreciate: function()
  22. // }