调用函数类型接口定义的函数

时间:2017-06-01 10:34:58

标签: typescript

遵循TypeScript docus的接口部分我遇到了函数类型的问题。给出的例子如下:

interface SearchFunc {
  (source: string, subString: string): boolean;
}

let mySearch: SearchFunc;
mySearch = function(source: string, subString: string) {
  let result = source.search(subString);
  return result > -1;
}

如何使用这个新功能?我尝试了各种选项,但总是给出以下错误“错误TS2346:提供的参数与调用目标的任何签名都不匹配。”

let isInString = mySearch({source: 'abcdefg', subString: 'c'}) // Error!

1 个答案:

答案 0 :(得分:0)

该函数有2个字符串作为参数,您传递的对象具有2个字符串属性。

因此,let isInString = mySearch('abcdefg', 'c')应该使用适当的参数调用该函数。