title: What is the difference between ' : ' and ' => 'on functions in typescript?
body: <p>Lets say we define a function using explicit typing like this,</p>
  
  <pre><code>var func : (arg1: string, arg2: number) =&gt; boolean;
  </code></pre>
  
  <p>as you can see we should be use ' => ' here, but we can not use this fat arrow in our function decleration.</p>
  
  <pre><code>func = function name(arg1: string, arg2: number) : boolean {return true;}
  </code></pre>
  
  <p>But in lambda function e.g we use ' => ' this fat arrow why?</p>
  
  <pre><code>var lambdaFunc = (arg1: string, arg2: number) =&gt; true;
  </code></pre>
  
  <p>and in function typed interfaces why we use this e.g, we use ':' colon.</p>
  
  <pre><code>interface SearchFunc {
  (source: string, subString: string): boolean;
  }
  </code></pre>
  
  <p><strong>What this whole confusion is about?</strong></p>