Firefox備え付け開発ツールのコンソールの仕様?に違和感が……
ちょっと確かめたいことがあって下のようなコードを書いておりました。
var arrayA = ['iruka', 'gorira', 'ringo']; var arrayB = []; console.log('arrayAの中身',arrayA); console.log('arrayBの中身',arrayB); var tmp = arrayA.pop(); console.log('tmpの中身',tmp); used.push(tmp); console.log('arrayAの中身',arrayA); console.log('arrayBの中身',arrayB);
Firefoxの開発ツールのコンソールで実行結果を確認したところ
Firefoxでの表示結果 arrayAの中身 ['iruka', 'gorira'] arrayBの中身 ['ringo'] tmpの中身 'ringo' arrayAの中身 ['iruka', 'gorira'] arrayBの中身 ['ringo']
と表示され、『あれ?popする前に既にない、pushする前からarrayBに何かはいってるぞ……』想定したのと違ったので軽く混乱しました。
コードを何度も見直し自分が間違っているのではなくて表示の問題なのではないかとgoogle調べてみると同じような記事を書いてらっしゃる方がいました。
Firebug と Firefox で「console.log」の仕様が違って不便な件 知らなきゃ絶対損するPCマル秘ワザ
どうやらFirefoxはそのオブジェクトの最終的な状態をコンソールに表示しちゃうみたいです。これ僕が求めている結果はfirebugの方なのでこれからはこっちを使おうかな。
firebugでの表示結果 arrayAの中身 ['iruka', 'gorira', 'ringo'] arrayBの中身 [] tmpの中身 'ringo' arrayAの中身 ['iruka', 'gorira'] arrayBの中身 ['ringo']