ES6 的箭头函数和普通函数(传统函数)相比,有以下几个主要的不同点:
1:语法简洁:
箭头函数使用箭头(=>)来定义函数,语法更加简洁明了,省略了传统函数中的 function 关键字和大括号。
示例比较:
// 传统函数
function add(a, b) {
return a + b;
}
// 箭头函数
const add = (a, b) => a + b;
2:词法绑定的 this 值:
箭头函数没有自己的 this 值,它的 this 值继承自外部的词法作用域。这意味着在箭头函数内部,无法通过 this 访问到函数自身的上下文,而是使用外部作用域的 this 值。
示例比较:
// 传统函数
const obj = {
name: 'Alice',
sayHello: function() {
console.log('Hello, ' + this.name);
}
};
// 箭头函数
const obj = {
name: 'Alice',
sayHello: () => {
console.log('Hello, ' + this.name