/**
* 对象的扩展
*
* 增强对象字面量
*
* 解决问题:缩减代码
*/ {
/**
* 1.属性简表示法
* 变量foo直接写在大括号里面。这时,属性名就是变量名, 属性值就是变量值
*/
const foo = 'bar';
const baz = { foo };
// baz // {foo: "bar"} // 等同于
// const baz = { foo: foo }; /**
* 方法简写
*/
const o1 = {
method() {
return "Hello!";
}
}; // 等同于 const o2 = {
method: function () {
return "Hello!";
}
};
} {
// 例子1
let birth = '2000/01/01'; const Person = { name: '张三', //等同于birth: birth
birth, // 等同于hello: function ()...
hello() { console.log('我的名字是', this.name); }
}; // 例子2
function createBookShop(inventory) {
return {
inventory, //属性简写 inventory:inventory,
// inventoryValue: function () {
inventoryValue() {
return this.inventory.reduce((total, book) => total +
book.price, 0);
},
//priceForTitle: function (title) {
priceForTitle(title) {
return this.inventory.find(book => book.title === title)
.price;
}
}
} const inventory = [
{ title: "Vue", price: 10 },
{ title: "Angular", price: 15 }
]; const bookShop = createBookShop(inventory);
console.log(bookShop.inventoryValue()); //25
console.log(bookShop.priceForTitle("Angular")); //15 }

最新文章

  1. AC日记——二叉堆练习3 codevs 3110
  2. Javascript与当前项目的思考
  3. Unity3D DllNotFoundException/System.DllNotFoundException
  4. Android无限循环轮播广告位Banner
  5. MyBatis之八:需要说明的几个java api的生命周期以及封装
  6. 创建.NET应用程序所经历的步骤
  7. Sprite Kit编程指南中文版下载
  8. ORACLE 五种表的优缺点总结
  9. java innerclass
  10. WPF:使用TypeConverter
  11. GreenDao 使用和数据库升级
  12. TCP/UDP端口列表(WIKIpedia)
  13. deeplearning 源码收集
  14. IP 解析器(IpParser) test 和 生产环境 实现
  15. TinyCore Nginx server with php-cgi and vsftpd
  16. 自然语言交流系统 phxnet团队 创新实训 项目博客 (八)
  17. python写个御剑
  18. [转贴]SSL工作原理
  19. 算法笔记_111:第五届蓝桥杯软件类省赛真题(Java本科A组)试题解答
  20. loadrunner-27077报错解决办法

热门文章

  1. NumPy 之 案例(随机漫步)
  2. SpringBoot处理全局统一异常
  3. eval用法
  4. likely和unlikely是如何对代码的优化?
  5. php中的闭包类
  6. ANDROID - 打包和引用本地的AAR
  7. 使用Jedis操作Redis数据库
  8. JavaScrip学习之路
  9. bzoj1115&&POJ1704&&HDU4315——阶梯Nim
  10. NYOJ469 - 擅长排列的小明 II - (dp)