title: How to write JavaScript constructors without strong typing
body: <p>In strongly typed languages, like C# or Java, I can distinguish constructor signatures by argument types.</p>
  <pre><code>class Cars {
  
      Cars(string x, string y) {};
      Cars(string x, int y) {};
  
  }
  </code></pre>
  <p>But without strong typing in JavaScript, I can only do this, which obviously will not work:</p>
  <pre><code>class Cars {
  
      Cars(x, y) {};
      Cars(x, y) {};
  
  }
  </code></pre>
  <p>Am I limited to only the <strong>number</strong> of constructor arguments to distinguish them?  Is there some way to create JS constructors that have the same number of args, but of different &quot;types&quot;?</p>
  <p>How do I make constructors that know that it should be looking for an <code>string y</code> in the first constructor, but <code>int y</code> in the second?</p>