箭头函数

ES6中新增的定义函数的方式。

() => {} // ():代表是函数; =>:必须要的符号,指向哪一个代码块;{}:函数体
const fn = () => {}//代表把一个函数赋值给fn

 

函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号

const sum = (n1, n2) => n1 + n2;
const result = sum(10, 20);
console.log(result)

 

在箭头函数中 如果形参只有一个 形参外侧的小括号也是可以省略的
const fn = v => {
alert(v);
}
fn(20)

 

箭头函数不绑定this 箭头函数没有自己的this关键字 如果在箭头函数中使用this this关键字将指向箭头函数定义位置中的this

箭头函数中的this指向在它被定义的时候就已经确定了,之后也不会改变
 
call(),apply(),bind()都无法箭头函数中this的指向
 
1.箭头函数不能做构造函数使用2.箭头函数没有自己的原型prototype3.箭头函数没有自己的arguments,可以用rest参数代替
 

小结

箭头函数中不绑定this,箭头函数中的this指向是它所定义的位置,可以简单理解成,定义箭头函数中的作用域的this指向谁,它就指向谁

箭头函数的优点在于解决了this执行环境所造成的一些问题。比如:解决了匿名函数this指向的问题(匿名函数的执行环境具有全局性),包括setTimeout和setInterval中使用this所造成的问题

posted @ 2022-03-02 11:00  永远老年  阅读(113)  评论(0)    收藏  举报