箭头函数
一、语法:
就是把function删掉,在小括号和大括号中间添加了一个 ‘=>’
1 | const sum = (n1, n2) => { |
二、特点:
- 如果参数列表只有一个参数,小括号可以省略(没有参数不可以省略)
1 | const sum2 = n1 => { |
- 如果函数体只有一句话,大括号可以省略(且如果有return,return也可以省略)
1 | const sum3 = n1 => console.log(n1 + 20); |
箭头函数没有this,会往作用域外面访问,所以需要用到this的地方就不要用箭头函数了(对象中的对象中的方法this访问的是哪个)
好处:例如用于解决
setTimeout方法中this只能指向window的问题坏处:构造函数、对象内的方法等,this会往作用域外找,不再指向本体(例如dom中的点击事件常常会用到this,所以不适合用箭头函数)