📅  最后修改于: 2023-12-03 14:56:44.567000             🧑  作者: Mango
箭头函数是 ES6 中新增的一种函数写法,它可以更简洁、更易读。与传统的函数表达式相比,箭头函数可以自动将上下文绑定到this上,简化了代码编写。
箭头函数的基本语法如下:
const sum = (a, b) => a + b;
箭头函数由三部分组成:
=>
代表函数的返回值。如果箭头函数只有一行代码,则这一行代码的结果就是返回值。否则需要使用花括号{}
括起来,并使用return
来返回值。函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
对比传统的函数表达式,箭头函数并没有自己的上下文,它会默认使用定义时的上下文。
const obj = {
name: "张三",
getName: function () {
return function(){
console.log(this.name)
}
},
getName2: function () {
return ()=>{
console.log(this.name)
}
}
};
const func1 = obj.getName();
func1(); //undefined
const func2 = obj.getName2();
func2(); //张三
不能用作构造函数
由于箭头函数没有自己的this对象,因此不能用作构造函数,否则会抛出错误。
不能使用arguments对象
箭头函数没有自己的arguments对象,只能使用外围函数的arguments。
不能使用yield命令
箭头函数不能使用yield命令,因此不能用作 Generator 函数。
通过上述介绍,我们可以看出箭头函数具有更加简洁、易读,语境绑定更好等一系列便捷特性,让我们能够更加方便快捷地书写代码。但同时它也有一些限制,不能使用this、arguments以及yield等关键字。需要针对具体的场景,用得恰当才能取得更好的效果。