箭头函数和function有什么区别
箭头函数和普通函数的区别:
1. 箭头函数只能是匿名函数。
2. 箭头函数不能用于构造函数,不能用new创建实例对象。
3. 箭头函数的this从其所在上下文捕获,而普通函数拥有自己的this。注意:箭头函数的this一旦被捕获,就不会再发生改变,call、apply、bind均无法改变。
4. 箭头函数没有arguments参数,取而代之的是三点运算符(...)
function A(a){
console.log(arguments);
}
A(1,2,3,4,5,8); // [1, 2, 3, 4, 5, 8, callee: ƒ,Symbol(Symbol.iterator): ƒ]
let B = (b)=>{
console.log(arguments);
}
B(2,92,32,32); // Uncaught ReferenceError:arguments is not defined
let C = (...c) => {
console.log(c);
}
C(3,82,32,11323); // [3, 82, 32, 11323]
5. 箭头函数不能使用Generator函数,不能使用yeild关键字。
6. 箭头函数不具有prototype原型对象。
7. 箭头函数不具有super。
8. 箭头函数不具有new.target。
细节可以参照:【箭头函数与普通函数的区别详解_小弦的博客的博客-CSDN博客_箭头函数和普通函数的区别】https://blog.csdn.net/qq_42258904/article/details/110083064