发布于 

箭头函数和普通函数的区别

1.箭头函数没有this对象,因此不可以用构造函数,不能用call(), apply(), bin()这些方法去改变this指向

2.不绑定arguments对象,不过可以使用rest参数来解决

3.不能使用new操作符,会报错

4.没有prototype属性(原型)

5.不能作用生成器

总结:

箭头函数表达式的语法比函数表达式更短,并且不绑定自己的this,arguments,super或 new.target。这些函数表达式最适合用于非方法函数(non-method functions),并且它们不能用作构造函数。

扩展:

箭头函数的 IIEF:

1
2
3
(() => {
console.log('1');
})();

上面的是可以,但是下面的写法就会报错

1
2
3
(() => {
console.log('1');
}());

原因:


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。