随手小记(es6)

在学习前辈阮一峰大神写的《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的属性里,对象中如果给了属性名却没有给属性对应的值,则根据作用域链(之前我写过的一篇博客)查找该属性的同名变量,并将其值赋给该对象的该属性;

转载于:https://www.cnblogs.com/dadSheng/p/6434139.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值