区别大致有以下六点:
1:写法不一样
2:普通函数存在变量提升的现象
3:箭头函数不能作为构造函数使用
4:两者this的指向不同
5:箭头函数的arguments指向它的父级函数所在作用域的arguments
6:箭头函数没有new.target
下边我们分别就以上六点用代码来进行说明
1:写法不一样
2:普通函数存在变量提升的现象
3:箭头函数不能作为构造函数使用
4:两者的this指向不同
普通函数的this指向的是谁调用该函数就指向谁
箭头函数的this指向的是在你书写代码时候的上下文环境对象的this,如果没有上下文环境对象,那么就指向最外层对象window。
5:箭头函数的arguments指向其父级函数作用域的arguments
6:箭头函数没有new.target
先说明下new.target是干嘛的,这家伙是用来检测函数是否被当做构造函数使用,他会返回一个指向构造函数的引用。
因为箭头函数不能当做构造函数使用,自然是没有new.target的。
网友评论