typescript 剔除参数-《TypeScript实用指南》—3.1.2 函数类型

3.1.2 函数类型

接口可以描述 JavaScript 中对象所具有的各种外观。 接口除了用属性描述普通对象外typescript 剔除参数,还可以描述函数类型。

为了使用套接字来表示函数类型,我们需要为套接字定义一个调用签名,就像只有参数列表和返回值类型的函数定义一样。 参数列表中的每个参数都需要一个名称和类型:

接口 SearchFunc {

(来源:字符串,子字符串:字符串):布尔值;

定义之后,我们就可以像使用其他套接字一样使用该功能类型的套接字。 以下示例展示了如何创建函数类型的变量并将相同类型的函数参数分配给该变量:

让我的搜索:SearchFunc;

mySearch = 函数(来源:字符串typescript 剔除参数,子字符串:字符串){

让结果=源。 搜索(子字符串);

返回结果 > -1;

对于函数类型检测,函数的参数名称不需要与套接字中定义的名称匹配。 例如我们使用下面的代码来重绘里面的case:

让我的搜索:SearchFunc;

mySearch = 函数(src: 字符串, 子: 字符串): 布尔值 {

让结果 = src. 搜索(子);

返回结果 > -1;

类型检测器会一一检查函数的参数,要求对应位置的参数类型兼容。 如果不想指定类型,TypeScript 的类型系统将推断参数类型,因为函数直接参数化 SearchFunc 类型变量。 函数的返回类型是根据其返回值推断出来的(在本例中为 false 和 true)。 如果我们让这个函数返回一个数字或一个字符串,类型检查器会警告我们该函数的返回类型与 SearchFunc 套接字中的定义不匹配:

让我的搜索:SearchFunc;

mySearch = 函数(src, 子) {

让结果 = src. 搜索(子);

返回结果 > -1;