箭头函数的一些问题
this指向问题
在普通函数中,this指向根据其使用场景不同改变。而箭头函数中的this始终指向其父级作用域
箭头函数不能作为构造函数
var Person = p => { this.name = p; }
此时的this并不是指向实例对象,而是指向父级作用域,指向window,所以不能作为构造函数
箭头函数没有arguments
如果想要实现不定参数的调用,就使用...剩余参数实现
var sayHi = (b) => console.log(arguments)
sayHi(10) // 报错
var good = (...g) => console.log(g)
good(1,2,3) // [1, 2, 3]
箭头函数通过apply和bind调用,不会改变this指向,只会传入参数
箭头函数没有原型属性
var a = () => {} console.log(a.prototype) // undefined
箭头函数在class中声明的方法是实例方法,不是原型方法
class super{ sayHi = () => {} } var s1 = new super(); var s2 = new super(); s1.sayHi === s2.sayHi // false