title: why 'undefined' is not getting removed from Array ? Even after filtering?
body: <pre><code>["a", undefined, "c"].map((x)=&gt;{return x})
  // this is the console output --&gt; ["a", undefined, "c"]
  ["a", undefined, "c"].map((x)=&gt;{return typeof(x)})
  // this is the console output --&gt; ["string", "undefined", "string"]
  ["a", undefined, "c"].map((x)=&gt;{if(typeof(x)=='string'){return x}})
  // this is the console output --&gt; ["a", undefined, "c"]
  </code></pre>
  
  <p>I am wondering, why undefined is not getting removed even after <code>if(typeof(x)=='string')</code> check. getting confused?</p>