# 对象的扩展

ES6 允许直接写入变量和函数,作为对象的属性和方法,这样的书写更加简洁。

# 属性简写

var foo = 'bar';
var baz1 = { foo };
console.log(baz);

// 等同于
var baz2 = { foo: foo };
console.log(baz);

# 返回值简写

// demo2
function f(x, y) {
  return { x, y };
}

// 旧的写法
function f1(x, y) {
  return { x: x, y: y };
}

f(1, 2);

# 方法简写

var o1 = {
  method() {
    return 'hello';
  },
};

// 等同于
var o2 = {
  method: function() {
    return 'hello';
  },
};

// 实例
var birth = '2016/11/7';
var person = {
  name: 'tom',
  birth,
  hello() {
    console.log('name is', this.name);
  },
};

# 调整CommonJS模块输出变量写法

// 可以据此修改项目的common.js,以及require的return方法
var ms = {};
function getItem(key){
    return key in ms? ms[key]:null;
}

function setItem(key,value){
    ms[key] = value;
}

function clear(){
    ms = {};
}
model.exports = {getItem,setItem,clear};
// 等同于
model.exports = {
    getItem:getItem,
    setItem:setItem,
    clear:clear
};
Last Updated: 2019-09-26 19:30:00