如何在 TypeScript 中创建匿名函数?

typescriptserver side programmingprogramming

在 TypeScript 中,我们可以使用 function 关键字声明函数。它是执行某些操作的代码块,我们可以通过调用该函数来重用函数代码。

函数有两种类型。一种是命名函数,另一种是匿名函数。命名函数意味着我们可以使用唯一标识符来识别它,而匿名函数则不存在标识符。

我们将在本教程中深入讨论匿名函数。正如"匿名函数"一词所述,它是指没有任何名称或标识符定义的函数。我们可以简单地将匿名函数存储在变量中,并使用该变量来标识该函数。

使用 Function 关键字创建匿名函数

用户可以查看在 TypeScript 中创建函数的一般语法。

function demo(param1: string, param2: number): void {
    // 函数代码
}

demo 是上述函数中的标识符。我们可以通过删除 demo 标识符使上述函数匿名。我们可以仅使用 function 关键字以及其后括号中的参数来定义匿名函数。此外,我们可以将匿名函数存储在变量中。

用户可以按照以下语法在 TypeScript 中创建匿名函数。

语法

我们已使用以下语法将 demo() 函数转换为匿名函数。

let demo: (param1: string, param2: string) => void = function (
    param1: string,
    param2: string
):
void {
    // 匿名函数的代码
};

现在,demo 不是一个函数标识符,而是存储一个函数。我们定义了 demo 变量的类型,即具有两个字符串类型参数和返回类型 void 的函数。之后,我们使用赋值运算符将匿名函数赋值给 demo 变量。

示例

在下面的示例中,我们定义了 demo 变量并将匿名函数存储在其中。用户可以观察我们如何使用 demo 变量调用匿名函数。我们还在使用 demo 变量调用匿名函数时传递了两个参数。

// 定义一个函数类型的 demo 变量,接受两个字符串参数并返回 none。
let demo: (param1: string, param2: string) => void = function (
   param1: string,
   param2: string
): void {
   // 匿名函数的代码
   console.log("The value of the param1 is " + param1);
   console.log("The value of the param2 is " + param2);
};
// 通过我们存储它的变量调用匿名函数。
demo("TutorialsPoint", "TypeScript");

编译时,它将生成以下 JavaScript 代码

// 定义一个函数类型的 demo 变量,接受两个字符串参数并返回 none。
var demo = function (param1, param2) {
   // 匿名函数的代码
   console.log("The value of the param1 is " + param1);
   console.log("The value of the param2 is " + param2);
};
// 通过存储匿名函数的变量调用该函数。
demo("TutorialsPoint", "TypeScript");

输出

上述代码将产生以下输出 -

param1 的值为 TutorialsPoint
param2 的值为 TypeScript

使用箭头函数创建匿名函数

箭头函数是另一种匿名函数。使用箭头语法,我们可以定义函数而无需使用 function 关键字和函数标识符。

用户可以按照以下语法使用箭头语法定义匿名函数,并了解为什么它被称为箭头语法。

语法

let test: function_Type = (parameters): return_type => {
    // 匿名函数代码
}

上面的语法中,test 是函数类型的普通变量,这里的 function_type 是箭头函数的类型,之后 () => {} 就是箭头函数的语法,另外,我们可以在括号中添加箭头函数的参数,在花括号中编写箭头函数的代码。

示例

在下面的例子中,我们定义了 test 变量,它存储了匿名箭头函数,箭头函数在乘以作为参数传递的值后返回 number 值。

我们使用 test 变量调用了箭头函数,并将其返回值存储在 result 变量中。

// 定义 test 变量
// (value1: number) => number 是 test 变量的类型。
// 在 (value1: number): number 中,value1 是匿名函数的参数,
// ':' 后面的 number 定义匿名函数的返回类型
let test: (valeu1: number) => number = (value1: number): number => {
   return 10 * value1;
};
// 调用测试函数
let result = test(12);
console.log("测试函数的返回值为 " + result);

编译后,它负责生成以下 JavaScript 代码 -

// 定义测试变量
// (value1: number) => number 是测试变量的类型。
// 在 (value1: number): number 中,value1 是匿名函数的参数,
// ':' 后面的 number 定义匿名函数的返回类型
var test = function (value1) {
    return 10 * value1;
};
// 调用测试函数
var result = test(12);
console.log("测试函数的返回值为 " + result);

输出

上述代码将产生以下输出 -

测试函数的返回值为 120

通过上述语法和示例,我们学会了如何使用匿名函数。我们将学习在编写实时代码时匿名函数的使用方法。

将匿名函数用作回调函数

在使用 TypeScript 时,我们经常需要在调用任何方法或函数时调用回调函数。我们可以将回调函数作为另一个函数的参数传递。我们可以使用匿名箭头函数来保持回调函数的语法排序。

用户可以按照以下语法将箭头函数用作回调函数。

语法

Array.sort(()=>{
   // 回调函数代码
})

在上面的语法中,我们使用了箭头函数作为回调函数。

示例

在这个例子中,我们创建了一个数字数组。之后,我们调用sort()方法对数字数组进行降序排序。sort()方法采用返回数字值的回调函数对数组进行排序,回调函数是匿名箭头函数。

// 创建数字数组
let numbers: Array<number> = [90, 64, 323, 322, 588, 668, 9, 121, 34, 1, 2];

// 使用 sort 方法对数字数组进行排序
// 要按降序对数字进行排序,我们需要在 sort 方法中传递回调函数
// 我们在 sort() 方法中使用箭头函数作为回调函数
numbers.sort((value1: number, value2: number): number => {
   return value1 < value2 ? 1 : -1;
});
// 打印排序后的数字数组
console.log(numbers);

编译后,它负责生成以下 JavaScript 代码 -

// 创建数字数组
var numbers = [90, 64, 323, 322, 588, 668, 9, 121, 34, 1, 2];
// 使用 sort 方法对数字数组进行排序
// 要按降序对数字进行排序,我们需要在 sort 方法中传递回调函数
// 我们在 sort() 方法中使用箭头函数作为回调函数
numbers.sort(function (value1, value2) {
   return value1 < value2 ? 1 : -1;
});
// 打印排序后的数字数组
console.log(numbers);

输出

上述代码将产生以下输出 -

[ 668, 588, 323, 322, 121, 90, 64, 34, 9, 2, 1 ]

我们学会了在 TypeScript 中使用匿名函数。我们可以使用两种方式创建匿名函数,一种是仅使用 function 关键字,另一种是使用箭头语法。但是,箭头语法是最好的,因为它的语法非常简短。


相关文章