箭头函数

1,简洁

2,没有自己的this

箭头函数基本用法:

    let arr = ['a', 'b', 'c']
    // 普通函数
    let newArr = arr.map(function (e) {
      return e
    }) // ["a", "b", "c"]
    // 箭头函数
    let newArr0 = arr.map((e) => {
      return e
    }) // ["a", "b", "c"]
    // 当箭头函数只有一个参数时,括号可以省略
    let newArr1 = arr.map(e => {
      return e
    }) // ["a", "b", "c"]
    // 当箭头函数的函数体只有一个 `return` 语句时,可以省略`return`与花括号
    let newArr2 = arr.map(e => e
    ) // ["a", "b", "c"]

箭头函数中this指向 (指向上一层作用域)

    let obj1 = {
      fun1: function () {
        console.log(this) // fun1
        setTimeout(function getData() {
          console.log(this) // window
        }, 1000)
      }
    }
    obj1.fun1()

    let obj2 = {
      fun2: function () {
        console.log(this) // fun2
        setTimeout(() => {
          console.log(this) // fun2
        }, 1000)
      }
    }
    obj2.fun2()

你可能感兴趣的:(箭头函数)