ES6新特性---箭头函数、this、对象字面量的增强

箭头函数

箭头函数实际上是简化了函数表达式的定义方式,允许我们使用=>来定义函数,一来简化了定义,二来对了一些新特性。
以往我们定义函数需要用function 去定义函数,现在我们完全可以用箭头函数来定义一个相同的函数。
ES6新特性---箭头函数、this、对象字面量的增强
箭头的左边为参数列表,右边则为函数体,在这里只有一句表达式,所以就会作为返回值返回,加入需要执行多条语句,同样可以使用花括号去包裹,这时候返回值则需要手动返回。
箭头函数的存在使得回调函数的编写得到了简化。
ES6新特性---箭头函数、this、对象字面量的增强

箭头函数与this

ES6新特性---箭头函数、this、对象字面量的增强
如图所示,在箭头函数中并不能取到name的值,这是箭头函数和普通函数最大的区别。因为在箭头函数中没有this的机制,所以不会改变this的指向,也就是说,这个this在箭头函数外面是什么,那么在函数里面this拿到的就是什么。

下面以一个小例子对于该场景的另一情况做演示。
ES6新特性---箭头函数、this、对象字面量的增强
如图所示,在普通函数底下的普通函数无法通过this拿到第一层普通函数下的this,而箭头函数则可以,因为箭头函数里面this指向的是箭头函数外层中的this指向。

对象字面量的增强

  1. 变量属性名一样的情况下,变量可以省略
  2. 给对象添加方法,可以省略function,可以直接方法名():{ }
  3. 可以使用表达式的返回值作为对象的属性名
    ES6新特性---箭头函数、this、对象字面量的增强