在学习前辈阮一峰大神写的《ECMAScript入门》一书的过程中,第九章中讲到对象扩展时,第一条我就有点看不懂

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

var foo = 'bar';
var baz = {foo};
baz // {foo: "bar"} // 等同于
var baz = {foo: foo};

当时我就没想太多,就这样过去了,结果在学习react时碰到了一个东西,研究之后让我理解了上面的代码:

在react的Lifting State Up中,它的例子用es6的语法写了一个类,继承React.Component,在构造函数中给出了状态,然后自己重写了一个控制函数:

 handleFahrenheitChange(value) {
this.setState({scale: 'f', value});
}

当时就好奇这个setState里面的参数到底是什么,研究了一下明白了,请看第一段代码:声明变量foo='bar',然后声明一个变量baz引用一个对象,这个对象里面只有一个foo属性,没有值,这就是es6的新增语法,标题是《属性的简洁表示法》,真是当时看不懂,看懂了觉得自己好傻这都看不懂。

  总结:es6的属性里,对象中如果给了属性名却没有给属性对应的值,则根据作用域链(之前我写过的一篇博客)查找该属性的同名变量,并将其值赋给该对象的该属性;

最新文章

  1. imx6 usb otg config 配置
  2. 【Android学习】数据传递三种方式
  3. 【温故而知新-Javascript】比较 undefined 和 null 值
  4. EventHandler委托与自定义委托
  5. php文字水印和php图片水印实现代码
  6. iOS设置某个界面强制横屏,进入就横屏
  7. javascript面向对象思想2
  8. 利用KVC使用自定义的控件
  9. 福州大学软件工程1916|W班 第6次作业成绩排名
  10. Java高级应用简笔
  11. UOJ #76 【UR #6】懒癌
  12. JavaScript -- Anchor
  13. Kafka消息系统基础知识索引
  14. IIS-网站发布之后访问HTTP 错误 403.14 - Forbidden
  15. 【转】Linux删除文件未释放空间问题处理
  16. Python DB
  17. Elasticsearch NEST使用指南:映射和分析
  18. 北京Uber优步司机奖励政策(3月30日)
  19. 使用dva框架的总结
  20. ASP.NET网站性能提升的几个方法

热门文章

  1. css3快速复习
  2. 【Xilinx-Petalinux学习】-05-OpenCV程序测试
  3. Recovering a WiredTiger collection from a corrupt MongoDB installation
  4. 在ubuntu上安装k-vim
  5. UVa 10132 - File Fragmentation
  6. box-sizing
  7. html块级元素和内联元素区别详解
  8. php正则表达式简介
  9. 阿里云上给的防止跨站和xss攻击的代码
  10. EL表达式 requestScope initParam用法