1

重複の可能性:
JavaScript はオブジェクト プロパティの順序を保証しますか?

Javascript (少なくとも Chrome では) では、オブジェクトがメンバーの順序を記憶していることに気付きました。たとえば、

var foo = { x: 1, y: 2 }
var bar = { y: 2, x: 1 }

fooキーをbar反復処理するときにキーが表示される順序によって区別できます。

私の質問は次のとおりです。

  1. この動作は標準で指定されていますか、それとも実装の詳細と見なす必要がありますか?
  2. 規格で指定されている場合、順序を変更する方法はありますか?
4

1 に答える 1

3

オブジェクトのプロパティは並べ替えられません。動作は実装に依存します。

ただし、ほとんどのJSエンジンは、現在オブジェクトリテラルで使用されている順序を維持しているようです。

しかし、V8/Chromeは少し前にそうしませんでした。

于 2012-05-04T08:03:35.823 に答える