A question about JavaScript object property name
<p>I've a question about JavaScript object property name. Check out codes below:</p>

<pre><code>&lt;!DOCTYPE html&gt;
&lt;meta charset="UTF-8"&gt;
&lt;title&gt;An HTML5 document&lt;/title&gt;
&lt;script&gt;
    var obj = {
        123: 'go' // 123 is not a valid JavaScript name. No error here.
    };
    var obj2 = {
        123a: 'go' // An Error occurred.
    };
&lt;/script&gt;
</code></pre>

<p>If a JavaScript object's property name is a valid JavaScript identifier, object porperty name's quotes are not necessary.</p>

<p>E.g.</p>

<pre><code>({go_go: 'go'}); // OK
({go-go: 'go'}); // Fail
</code></pre>

<p>In the codes above, <code>123a</code> is an invalid JavaScript name and it's not be quoted. So An error occurred. But <code>123</code> is also an invalid JavaScript name and also it's not quoted, why no error here? Personally I think <code>123</code> must be quoted.</p>

<p>Thank you!</p>
