作者:手机用户2502910855 | 来源:互联网 | 2023-09-17 03:08
以使用接口的方式来定义一个函数需要符合的形状:interfaceSearchFunc{(source:string,subString:string):boolean;}letmy
以使用接口的方式来定义一个函数需要符合的形状:
interface SearchFunc {
(source: string, subString: string): boolean;
}
let mySearch: SearchFunc = (source: string, subString: string) => {
return source.search(subString) !== -1;
}
当然也可以使用含有泛型的接口来定义函数的形状:
interface CreateArrayFunc {
(length: number, value: T): Array;
}
let createArray: CreateArrayFunc = (length: number, value: T): Array => {
let result: T[] = [];
for (let i = 0; i result[i] = value;
}
return result;
}
createArray(3, 'x'); // ['x', 'x', 'x']
进一步,我们可以把泛型参数提前到接口名上:
interface CreateArrayFunc {
(length: number, value: T): Array;
}
let createArray: CreateArrayFunc;
createArray = function(length: number, value: T): Array {
let result: T[] = [];
for (let i = 0; i result[i] = value;
}
return result;
}
createArray(3, 'x'); // ['x', 'x', 'x']
注意,此时在使用泛型接口的时候,需要定义泛型的类型。