title: What are the differences between EventEmitter<undefined> and EventEmitter<void>?
body: <p>Some times we can have a case when <em>generic variable</em> should be omitted.
  Like this:</p>
  
  <pre><code>@Component( ... )
  class MyComponent {
  
    @Output()
    public cancel = new EventEmitter&lt;undefined&gt;();
  
    private myFoo() {
      this.cancel.emit(); // no need to pass any value
    }
  }
  </code></pre>
  
  <p>So, <strong>the question</strong>: Which is better way to define the EventEmitter type:<br>
  <code>EventEmitter&lt;undefined&gt;</code> or <code>EventEmitter&lt;void&gt;</code>.</p>
  
  <ul>
  <li><code>void</code> is better because there is no an argument in <code>.emit()</code> call.  </li>
  <li><code>undefined</code> is better <code>.emit()</code> is the same <code>.emit(undefined)</code></li>
  </ul>
  
  <p>What is your opinion?</p>