typescript interface 函数问题

interface SearchFunc {
    (source: string, subString: string): boolean;
}
let mySearch:SearchFunc;
mySearch = function(source: string, subString: string) {
}

  let counter = <SearchFunc>function (source:string,subString:string) { };
  

这两种写法区别吗??

阅读 3.6k
2 个回答

结果上真没什么区别。如果要硬谈不同的话,我可能只能看出:

  1. 例一通过声明变量mySearch的类型为SearchFunc来约束等号右边的待赋值函数的结构

  2. 例二通过范型强制转换等号右边的待赋值函数,使得Typescript编译器可以推导出变量counter的类型

别的我真扯不出来了,^^

第一种的知识点是接口,第二种的知识点是类型断言,找这两种知识点看一下就知道了

推荐问题