简述TypeScript 中的箭头/lambda 函数是什么?
参考答案:
在 TypeScript(以及 JavaScript)中,箭头函数(也称为 lambda 函数)是一种更简洁的函数表达式,用于创建一个新的函数。箭头函数提供了一种更简洁、更简洁的语法,使得编写内联函数(即作为参数传递的函数)或回调(即作为参数传递并在稍后的某个时间点调用的函数)变得更加容易。
箭头函数的基本语法如下:
(parameters) => { functionBody }
这是一个简单的示例,其中箭头函数被用作回调函数:
const numbers = [1, 2, 3, 4, 5];
numbers.forEach(num => {
console.log(num);
});
在这个例子中,箭头函数 (num) => { console.log(num); }
是一个回调函数,它被传递给 forEach
方法。这个函数对数组中的每个元素执行一次。
箭头函数的一个重要特点是它们不绑定自己的 this
,它们从封闭的执行上下文中继承 this
值。这使得它们非常适合在回调和事件处理器中使用,其中 this
通常需要在外部上下文中定义。
例如:
class MyClass {
private myField: number = 0;
constructor() {
// 使用箭头函数,`this` 指向 MyClass 实例
setTimeout(() => {
console.log(this.myField);
}, 1000);
}
}
const myInstance = new MyClass();
在这个例子中,setTimeout
的回调是一个箭头函数,所以 this
在回调内部指向 MyClass
的实例。如果我们使用普通函数(非箭头函数)作为回调,this
将会指向全局对象(在浏览器中是 window
),这可能会导致错误。