48225


**下記のような感じで、変数宣言が続いている時**  
・途中で変数内容を確かめるためにconsole.logしたいのですが、どう書けば良いですか？

[code]

      var hoge = 1,
        a = k.childNodes[0],
        b = a.childNodes[1].childNodes[0],
    
[/code]


CC BY-SA 4.0
2018-09-08T16:10:09.377
48222
2018-09-09T01:24:09.130
7886
question
javascript
var宣言の途中で変数内容を確かめたい


`var`による変数宣言は、`,`で繋げられている全体が一つの宣言文ですので、途中で`console.log(...);`のような別の文を挟むことはできません。

`var`を挟んでそれぞれを独立した文に修正して下さい。

[code]

    var hoge = 1;
    console.log(hoge);
    var a = k.childNodes[0];
    console.log(a);
    var b = a.childNodes[1].childNodes[0];
    console.log(b);
    ...
    
[/code]

こんな(↓)書き方をしても動くでしょうが、上記の修正は大した手間ではないですし、後で「謎?」に見えるような書き方はしない方が良いでしょう。

[code]

    var hoge = 1,
        _ = console.log(hoge),
        a = k.childNodes[0], b = a.childNodes[1].childNodes[0],
        _ = console.log(a),
        _ = console.log(b),
        ...;
    
[/code]

(そもそも、値を確かめたくなるようなちょっと複雑な初期値を持つ複数の変数宣言をひとつの`var`に書いてしまうのはどうかと思うんですが。ちなみに上記のコードは`let`だと構文エラーになります。)


CC BY-SA 4.0
2018-09-08T20:04:14.530
48225
2018-09-08T20:04:14.530
13972
48222
answer


本当にやりたいことは、「`console.log()`を変数宣言に入れる」ではなく「変数の宣言を逐次実行しながら値を確認する」ですよね。

**デバッガを使います** 。`console.log()`は使いません。

Chromeの場合、DevToolsを起動し、「Sources」タブを選択、コードがあるファイルを開いて、該当の宣言の行番号をクリックしてブレークポイントを仕掛けます。その後、そのコードを通るようなアクションを起こすとデバッガが起動するので、ステップ実行しながら値を確認します。


CC BY-SA 4.0
2018-09-09T01:24:09.130
48228
2018-09-09T01:24:09.130
3475
48222
answer