こんにちは.
for...inに以下の文と共に以下のコードが紹介されています.
for..in 文は、指定したオブジェクトの列挙可能プロパティに対して、順不同で反復処理をします。
JavaScript
1const object = {a: 1, b: 2, c: 3}; 2 3for (const property in object) { 4 console.log(`${property}: ${object[property]}`); 5} 6 7// expected output: 8// "a: 1" 9// "b: 2" 10// "c: 3"
文には"順不同"とありますが, 上の実行結果を表しているコメントアウトの部分を見るとランダムになっていません.
順不同とは, プロパティをプロパティ名がアルファベット順になるように並び替えて処理をするということなのでしょうか.
宜しくお願い致します.
追記①
添付画像は,前述のリンク先にある, JavaScriptが実行可能なウィンドウ?のデフォルトをmiyabi_takatsuk様のご指摘のとおりに書き直したものと, その実行結果になります.
やはり, const object = { b: 2, a: 1, c: 3}とした場合には, 入力と同じ順に出力されており, 順不同性がないのですが, ローカルの環境で試したほうが良いのでしょうか.
追記②
今回の環境では, 順番通り出ましたが, あくまで順番は保証されておらず, 9割の環境では順番通り出るが, 他は順番通り出ない環境もあるというような理解をしたら良いのでしょうか.
追記③
沢山のご教授ありがとうございます.
ドキュメントには順不同の文字しか書かれていないので, ランダムになるかもわからないと理解することにします.
回答5件
あなたの回答
tips
プレビュー