質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

7105閲覧

forが2回されてる?

toutou

総合スコア2050

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

4グッド

1クリップ

投稿2017/06/04 10:57

javascript

1let aaa = []; 2let bbb = []; 3console.log(aaa); 4console.log(bbb); 5console.log(bbb[2]); 6for(let i= 0;i<5;i++){ 7 bbb[i]=10; 8} 9console.log(aaa); 10console.log(bbb);

リンク内容

上記のようなもの作ってChromeデベロッパー・ツールでみたところ
イメージ説明
図のような結果になります。
疑問点としては、forの前に代入されたような表示をしてること。
それなのに何も入ってないこと。
なぜこのような表示になってるのか。
これらの疑問がわかる方解説お願いします。

suzunox, mpyw, gomatan1258, tamahimesama_xz👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

恐らくですが、質問者さんは「ページの読み込みが完了したらデベロッパーツールを開く」という手順でコンソールを確認したのではないかと思います。そのような手順でデベロッパーツールを開いた場合に質問文にあるような挙動になる理由は、console.logで配列を表示する場合、配列の内容はconsole.logが行われたタイミングではなく、デベロッパーツールを開いたときのものになるからです。以下のようにすることでconsole.logが実行されたタイミングの内容を得ることができると思います。

javascript

1let aaa = []; 2let bbb = []; 3console.log(JSON.stringify(aaa)); 4console.log(JSON.stringify(bbb)); 5console.log(JSON.stringify(bbb[2])); 6for(let i= 0;i<5;i++){ 7 bbb[i]=10; 8} 9console.log(JSON.stringify(aaa)); 10console.log(JSON.stringify(bbb));

投稿2017/06/04 11:12

編集2017/06/04 11:22
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toutou

2017/06/05 01:00

プログラムは上から順にという原則どおりかと思ったらそうじゃないんですね。配列だけ別扱いなのかな。ありがとうございます。
guest

0

私も前にあれっと思いました。
親切なのか余計なお世話なのか分かりませんが、私なんかついプルダウンの下には詳細があると思ってしまいますが、[i]アイコンが表示されホバーすると
value below was evaluated just now
とあるので実行時点の値は右に、最終的には下のような値になっていると表現しているんだと思います。

投稿2017/06/04 11:55

kyunta

総合スコア350

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toutou

2017/06/05 01:02

なんでこんなややこしい仕様にしたんでしょうな。少し使いづらい気がします。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問