Just to expand on that a bit for anyone who might not know this:<p><pre><code>    var s = new String(&#x27;foo&#x27;);
    typeof s; &#x2F;&#x2F; &#x27;object&#x27;
</code></pre>
That is, when you use the `new` keyword, you get back an object instead of a primitive. Since symbols are <i>always</i> primitives, disallowing the `new` keyword actually <i>prevents</i> inconsistency with the rest of the language in the sense that it doesn&#x27;t allow you to create non-objects with a constructor.