标签: 箭头函数

  • 箭头函数

    作用: 简化匿名函数, 简化回调函数和普通函数的写法

    语法: () => {}, 小括号内书写形参, 大括号内写函数体

    let fn = (msg) => {
      console.log('Hello' + msg)
    }
    

    简化语法

    • 如果形参只有1个, 可以省略小括号
    • 方法体只有一行代码, 可以省略大括号, 省略大括号后, 默认返回此结果
    //上例中的箭头函数可简化
    let fn = msg => console.log('Hello' + msg)
    
    fn('World!')
    

    注:方法体只有一行代码,且省略了大括号,如果函数有return,则也省略。

    也就是箭头函数只有一句代码并且省略大括号时,默认带有return,再写return则会报错。

    let fn = (a,b) => {
    	return a + b
    }
    
    //可简化成
    let fn = (a,b) => a + b
    

    this指向

    箭头函数的this指向的是外层作用域this的值

    let myObj = {
      a: function () {
        console.log(this)
      },
      b: () => {
        console.log(this)
      }
    }
    myObj.a() // myObj
    myObj.b() // window
    

    其他

    • 箭头函数不能用作构造函数, 不能和new配合使用
    • 不能使用arguments