箭头函数(Arrow Function)与普通函数(Regular Function)在语法和功能上有一些区别。
- 语法简洁性:箭头函数使用箭头(`=>`)来定义函数,语法更加简洁,可以省略`function`关键字和大括号。例如:
// 普通函数 function add(a, b) { return a + b; } // 箭头函数 const add = (a, b) => a + b;
- this 绑定:箭头函数没有自己的 `this` 值,它会捕获当前上下文的 `this` 值,即定义时所在的对象或函数。而普通函数的 `this` 值在运行时根据调用方式动态确定。箭头函数也不支持call()与apply()函数特性。
- arguments 对象:箭头函数没有自己的 `arguments` 对象,但可以使用剩余参数(rest parameters)来达到类似的效果。普通函数则有自己的 `arguments` 对象。
- 箭头函数不能用作构造函数(constructor)或生成器函数(generator function)。
- 箭头函数没有原型属性(prototype property)。