回答編集履歴
2
こまごま修正
    
        answer	
    CHANGED
    
    | @@ -2,10 +2,10 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            `Object.keys`や`for-in`などでは一定の順序を返してきますが、それは**ブラウザ依存**のもので、JavaScriptの利用者側からは制御できません。
         | 
| 4 4 |  | 
| 5 | 
            -
            ```
         | 
| 5 | 
            +
            ```javascript
         | 
| 6 6 | 
             
            // 多くのブラウザでは、数値のキーを先に持ってきて「["57", "foo"]」のような順序で返す
         | 
| 7 7 | 
             
            // でも、仕様上は「["foo", "57"]」でも問題はない
         | 
| 8 8 | 
             
            Object.keys({foo: 2, '57': 'hoge'});
         | 
| 9 9 | 
             
            ```
         | 
| 10 10 |  | 
| 11 | 
            -
            なお、単純な | 
| 11 | 
            +
            なお、単純な`Object`ではない`Map`を使う場合は、「挿入順に処理される」ことが保証されています([MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map))。
         | 
1
Mapは順番保証あり
    
        answer	
    CHANGED
    
    | @@ -6,4 +6,6 @@ | |
| 6 6 | 
             
            // 多くのブラウザでは、数値のキーを先に持ってきて「["57", "foo"]」のような順序で返す
         | 
| 7 7 | 
             
            // でも、仕様上は「["foo", "57"]」でも問題はない
         | 
| 8 8 | 
             
            Object.keys({foo: 2, '57': 'hoge'});
         | 
| 9 | 
            -
            ```
         | 
| 9 | 
            +
            ```
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            なお、単純な連想配列ではない`Map`を使う場合は、「挿入順に処理される」ことが保証されています([MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map))。
         | 
