Skip to content

Commit ff0d26d

Browse files
authored
Change devtool article (#704)
1 parent cc5aae3 commit ff0d26d

File tree

9 files changed

+32
-10
lines changed

9 files changed

+32
-10
lines changed

docs/2-browser-apps/01-inspector/index.mdx

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ title: ブラウザの開発者ツール
44

55
import inspectElementsVideo from "./inspect-elements.mp4";
66
import { GrSelect } from "react-icons/gr";
7+
import {
8+
VscDebugStepOver,
9+
VscDebugStepInto,
10+
VscDebugStepOut,
11+
} from "react-icons/vsc";
712

813
## 開発者ツールを起動する
914

@@ -27,14 +32,32 @@ Google Chrome 以外のブラウザにも開発者ツールは搭載されてい
2732

2833
<video src={inspectElementsVideo} muted controls />
2934

30-
### 演習
35+
### 確認問題
3136

3237
あなたのお気に入りのニュースサイトの記事をひとつ選び、その中に現れる人物名を、 `Elements` タブの機能を用いて自分の名前に変えてみましょう。悪用厳禁です!
3338

3439
## デバッガ
3540

3641
**デバッガ** は、プログラムのバグを探し、解決するために役立つソフトウェアです。ブラウザの開発者ツールには、通常 JavaScript のデバッガが搭載されています。
3742

43+
:::info
44+
45+
デバッガを使うために知っておくべきことは以下の 4 つです。
46+
47+
- **ブレークポイント**
48+
設置した行でプログラムの実行が一時停止するもので、Google Chrome の開発者ツールでは Sources タブからファイルを開くと表示される行番号をクリックすると設置できます。
49+
50+
- **ステップオーバーボタン** (<VscDebugStepOver style={{ verticalAlign: "middle" }} />)
51+
現在の行を実行し、次の行に進む操作です。現在止まっている行で関数が呼び出される場合は、その関数内の処理を全て実行して次の行で止まるものです。
52+
53+
- **ステップインボタン** (<VscDebugStepInto style={{ verticalAlign: "middle" }} />)
54+
現在の行が関数呼び出しだった場合、実行が関数の中に移ります。処理の流れを 1 個ずつ確認できます。
55+
56+
- **ステップアウトボタン** (<VscDebugStepOut style={{ verticalAlign: "middle" }} />)
57+
関数内で処理が止まっている場合、その関数内の残りの処理を全て実行し、関数を呼び出している行の次の行へ移動します。
58+
59+
:::
60+
3861
デバッガを用いることで、プログラムが実行される様子を細かく観測することができます。次のプログラムで試してみましょう。
3962

4063
```html title="index.html"
@@ -77,38 +100,37 @@ JavaScript の実行がブレークポイントを設定した地点に差し掛
77100

78101
:::warning
79102

80-
下の画像の中の、緑色の四角で表示されている部分は**これから実行されようとしている行**を表します。つまり、5 行目のプログラムは、この時点ではまだ実行されていません。
103+
下の画像の中の、オレンジ色の線で強調されている部分は**これから実行されようとしている行**を表します。つまり、5 行目のプログラムは、この時点ではまだ実行されていません。
81104

82105
:::
83106

84107
![ブレークポイントの設置](./set-breakpoint.png)
85108

86-
続いて、**ステップ オーバー**ボタンを押します。ステップ オーバーは、現在の行を実行し、次の行に進む操作です。これにより、緑色の四角が 6 行目に移ります。
109+
続いて、**ステップ オーバー**ボタンを押します。これにより、オレンジ色の線で強調された部分が 6 行目に移ります。
87110

88111
![ステップ オーバー](./step-over.png)
89112

90-
この状態で、`resultElement` の部分にマウスカーソルを乗せてみましょう。`resultElement` 変数の中身が表示されます。変数の値がオブジェクトの場合は、その内部を見ることもできます。おなじみの `textContent` プロパティなども存在していることが分かりますね。
113+
この状態で、`resultElement` の部分にマウスカーソルを乗せてみましょう。`resultElement` 変数の中身が表示されます。変数の値がオブジェクトの場合は、その内部を見ることもできます。下にスクロールするとおなじみの `textContent` プロパティなども存在していることが分かりますね。
91114

92115
![オブジェクトの中身を見る](./inspect-object.png)
93116

94-
次は、**ステップ イン**ボタンを押してみましょう。現在の行が関数呼び出しだった場合、実行が関数の中に移ります
117+
今度はブレークポイントを 6 行目に設置してみましょう。ページを更新して、次は、**ステップ イン**ボタンを押してみましょう。実行が `add` 関数の中に移ります
95118

96119
![ステップ イン](./step-in.png)
97120

98121
右側のパネルの `Call Stack` (**コール スタック**) 部分を見てみてください。ここには、現在実行されている関数が、どの順番で実行されているのかが表示されています。この場合は、`script.js` というファイルの 6 行目から `add` 関数が呼び出されていることが分かります。
99122

100123
![コール スタック](./call-stack.png)
101124

102-
最後に**ステップ アウト**ボタンを押しましょう。このボタンを押すと、現在実行されている関数が最後まで実行され、呼び出し元の関数の実行に戻ります
125+
次に**ステップ アウト**ボタンを押しましょう。このボタンにより、現在実行されている関数が最後まで実行され、実行が `add` 関数の外に出て、7 行目の先頭で処理が止まっているのが分かると思います
103126

104127
![ステップ アウト](./step-out.png)
105128

106129
:::tip[`console.log` 関数]
107130

108-
`console.log` 関数は、メッセージをブラウザの開発者ツールの `Console` に出力します。
109-
`console.log` 関数を使ってプログラムの実行中に値の変化を確認したり、問題が発生した時に原因を特定したりすることができます。
131+
`console.log` 関数は、メッセージをブラウザの開発者ツールの `Console` に出力します。`console.log` 関数を使ってプログラムの実行中に値の変化を確認したり、問題が発生した時に原因を特定したりすることができます。
110132

111-
```javascript
133+
```javascript title="script.js"
112134
const x = 5;
113135
const y = 10;
114136
const sum = x + y;
@@ -117,7 +139,7 @@ console.log("x + y は、", sum);
117139

118140
:::
119141

120-
### 演習
142+
### 確認問題
121143

122144
次のプログラムの 5 行目では、`add` 関数は 3 回実行されます。どのような順番で関数が呼び出されているか、デバッガを用いて確認してみてください。
123145

15.7 MB
Binary file not shown.
135 KB
Loading
136 KB
Loading
144 KB
Loading
130 KB
Loading
125 KB
Loading
128 KB
Loading
140 KB
Loading

0 commit comments

Comments
 (0)