title: Multiple ways to declare a function on a TypeScript interface: how are they different?
body: <p>I've seen properties that are functions declared in multiple ways, as illustrated by <code>func1</code> and <code>func2</code> on this TypeScript interface:</p>
  
  <pre><code>interface Thing {
      func: (arg:string) =&gt; number;
      func2(arg:string): number;
  }
  </code></pre>
  
  <p>Is there a difference between the two? Is there a case in which you would use one over the other? </p>
  
  <p><a href="http://www.typescriptlang.org/Playground#src=interface%20Thing%20%7B%0D%0A%09func%3A%20(arg%3A%20string)%20%3D%3E%20number%3B%0D%0A%09func2(arg%3Astring)%3A%20number%3B%0D%0A%7D%0D%0A%0D%0Avar%20thing%3A%20Thing%20%3D%20%7B%0D%0A%09func%3A%20(foo%3A%20string)%20%3D%3E%202%2C%0D%0A%09func2%3A%20(foo%3A%20string)%20%3D%3E%202%0D%0A%7D%0D%0A%0D%0Avar%20first%3A%20number%20%3D%20thing.func(%22hello%22)%3B%0D%0Avar%20second%3A%20number%20%3D%20thing.func2(%22hello%22)%3B" rel="noreferrer" title="This link">This playground link</a> seems to imply that the two can be used interchangeably. Are there any limits to this?</p>