请说明ES6箭头函数中this的绑定目标是什么?
考察说明
考察对箭头函数this绑定机制及其与普通函数区别的理解。
回答思路
- 【回答框架 1】箭头函数没有自己的this,它捕获定义时所在作用域的this值,且该绑定不可改变。
- 【回答框架 2】普通函数的this由调用方式决定,如作为方法调用指向对象,作为函数调用指向全局或undefined;箭头函数则固定为词法作用域的this。
- 【回答框架 3】由于箭头函数不绑定this,call、apply、bind无法改变其this指向,传递参数仍然有效。
- 【回答框架 4】箭头函数也不适合用作构造函数,因为它没有自己的this,不能new调用。
- 【关键点 1】箭头函数的this是定义时外层作用域的this,与调用方式无关。
- 【关键点 2】箭头函数不能通过call、apply、bind改变this指向。
- 【关键点 3】箭头函数不能作为构造函数使用。