箭头函数和this的区别
箭头函数和this到底有啥区别?
箭头函数this的定义:箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定。
换一种说法
管在什么情况下,箭头函数的this跟外层function的this一致,外层function的this指向谁,箭头函数的this就指向谁,如果外层不是function则指向window。
1 |
|
This必将指向内层function
1 |
|
=>必将指向外层function,如果外层不是function则指向window。
以一个React组件为例
1 |
|
用这种方法声明,就会报 TypeError: Cannot read property 'setState' of undefined 的错误。因为 setState()
方法是Square类的方法。
1 |
|
而用下面这种方法,就不会报错,因为=>必将指向外层function,也就是Square类的方法,也就是Square.setState()。
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!