Lambda
Lambda
在TypeScript中,Lambda表达式是一种简洁的语法形式,用于定义匿名函数。Lambda表达式通常用于传递函数作为参数,或者在函数内部创建新的函数。
Lambda表达式使用箭头语法(=>)来定义函数,箭头左侧是函数参数列表,右侧是函数体。例如:
// Lambda表达式作为函数参数
const numbers = [1, 2, 3, 4, 5];
const doubleNumbers = numbers.map((num) => num * 2);
console.log(doubleNumbers); // [2, 4, 6, 8, 10]
// Lambda表达式创建新的函数
const makeAdder = (x: number) => (y: number) => x + y;
const add5 = makeAdder(5);
console.log(add5(3)); // 8
在第一个例子中,map()
函数接受一个函数作为参数,用于对数组中的每个元素进行转换。Lambda表达式 (num) => num * 2
定义了一个将传入参数乘以2的函数。
在第二个例子中,Lambda表达式被用于创建一个返回两个数字相加结果的函数,这个函数返回的也是一个函数,这样可以方便地对不同的数字进行加法操作。
Lambda表达式在TypeScript中也支持类型注解,可以使用箭头语法来指定函数参数和返回值的类型。例如:
const addNumbers = (x: number, y: number): number => x + y;
console.log(addNumbers(2, 3)); // 5
在这个例子中,Lambda表达式 (x: number, y: number): number => x + y
定义了一个接受两个数字并返回它们的和的函数。参数类型和返回值类型都被注解为number
类型。