Difference of TypeScript function declaration in interfaces

时间秒杀一切 提交于 2019-12-10 21:07:17

问题


What is the difference between these two declarations of functions in TypeScript Interfaces?

interface IExample {
  myFunction(str: string): void;
}

and

interface IExample {
  myFunction: (str: string) => void;
}

回答1:


These declarations are completely equivalent.

The only relevant difference here is that the second form can't be used for function overloads:

// OK
interface Example {
    myFunction(s: string): void;
    myFunction(s: number): void;
}

// Not OK
interface Example {
    myFunction: (s: string) => void;
    myFunction: (s: number) => void;
}


来源:https://stackoverflow.com/questions/27509973/difference-of-typescript-function-declaration-in-interfaces

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!