螺竹编程
发布于 2024-05-27 / 3 阅读
0

TypeScript/函数: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类型。