传统函数 | 箭头函数 | |
---|---|---|
语法上 | function func() {} | () => expression (这里只列举了一种,当只有一个简单参数时,能省略括号,当函数直接返回表达式时,可以省略大括号。) |
匿名 | 函数名可以被省略,函数变成匿名函数 | 箭头函数总是未命名的。 |
this | 指向调用该函数的对象 | 没有独立的this,不能用做方法,call()、apply() 和 bind() 方法在箭头函数上调用时不起作用,因为箭头函数是根据箭头函数定义的作用域来建立 this 的,而 this 值不会根据函数的调用方式而改变。 |
arguments | 没有自己的 arguments 对象 | |
构造函数 | 不能用作构造函数。使用 new 调用它们会引发 TypeError。 | |
生成器 | 不能在其主体中使用 yield,也不能作为生成器函数创建。 |
参考
箭头函数表达式