对象的扩展
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,
};