2012-01-20 4 views
3

次のjavascriptが「有効」かどうかを知りたいと思います。javascriptオブジェクト定義の中の反復プロパティ(中括弧内)。それはエラーですか?

var object = { 
    'name' : 'test', 
    'age' : 56, 
    'age' : 25 
} 

わかりましたように、私は意図的に属性の1つを繰り返しました。クロムの 簡単なテストではJavaScriptが有効であるとobject.ageは25

P.S.に等しいことを証明するように思われる重要なものについては(年齢)

JavaScriptコードジェネレータを書いたので、私はこれを尋ねています。それが有効なjsかどうかを知りたいのです。

答えて

5

技術的にはですが、ではありません。 RFC4627(強調鉱山)によれば

2.2。オブジェクト
オブジェクト構造は、0個以上の名前/値のペア(またはメンバー)を囲む中括弧のペアとして表されます( )。名前は 文字列です。 1つのコロンが各名前の後に来て、値から名前 を分離します。 1つのカンマで、値を次の の名前から区切ります。 オブジェクト内の名前は一意である必要があります(SHOULD)。これは(そうそう、あなたがそれを行うことができ、必要があります...それは道をそれを解析しています誰に応じて、予期しない動作をもたらす可能性が通常最後のプロパティがあるためか、ほとんどの勝利と言う確か

前方読取りパーサーは動作します)。

このRFCはオブジェクトリテラルではないJSONにも適用されますが(JSONはその厳密なサブセットです)、この規約は両方に適用されます。

+0

ありがとうございます。非常に明確な説明 – Zo72

関連する問題