Google Developer Toolsの使い方(JavaScript編)
Google Developer Tools(通称DevTools)は、ウェブ開発者にとって非常に強力なツールセットです。
コンソールの使い方
以下に、コンソールでできることの主な例を紹介します。
なお、コンソールで入力した内容は履歴が残りますのでキーボードの「↑↓矢印」で目的の履歴を探して再実行することができます。
1. JavaScriptの実行
コンソールはJavaScriptのコードを直接実行するための環境を提供します。変数の宣言や関数の実行、オブジェクトの操作などが可能です。
let greeting = 'Hello, World!';
console.log(greeting);
2. デバッグ
コンソールを使用して、コードのデバッグができます。console.log()
, console.error()
, console.warn()
, console.info()
などの関数を使って、デバッグ情報を出力することができます。
console.log('This is a log message.');
console.error('This is an error message.');
console.warn('This is a warning message.');
console.info('This is an info message.');
3. DOMの操作
コンソールを使って、ウェブページのDOM(Document Object Model)を操作することができます。要素の取得、追加、削除、属性の変更などが可能です。
document.querySelector('h1').textContent = 'Changed Title';
4. パフォーマンスの計測
コンソールを使用してコードのパフォーマンスを計測することができます。console.time()
とconsole.timeEnd()
を使って、特定のコードブロックがどれだけの時間を要するかを測定できます。
console.time('MyTimer');
for (let i = 0; i < 1000000; i++) {
// Some complex logic
}
console.timeEnd('MyTimer');
5. 式の評価
コンソールは、式を評価してその結果を表示するためにも使用できます。変数や関数の結果をすぐに確認できます。
2 + 2 // Enterキーを押すと、4が表示されます。
6. カスタムオブジェクトの表示
console.table()
を使って、オブジェクトや配列を表形式で表示することができます。これにより、データの構造を視覚的に確認しやすくなります。
let people = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
{ name: 'Jim', age: 35 }
];
console.table(people);
7. デバッガの利用
debugger
ステートメントを使ってコードの実行を中断し、デバッグセッションを開始できます。これにより、変数の値を確認したり、ステップ実行でコードの動作を詳しく調査することができます。デバッガについては章を改めて詳述します。
function myFunction() {
debugger;
// Your code here
}
デバッガの使い方
Google Developer ToolsのSourcesタブは、ウェブ開発者がウェブページのコードを調査し、デバッグするためのツールです。
Sourcesタブの基本的な使い方を以下に説明します。
1. Sourcesタブの表示方法
- Chromeブラウザを開き、調査したいウェブページに移動します。
- キーボードショートカット(F12)でDevToolsを開きます。
- DevToolsが開いたら、上部のタブから「Sources」を選択します。
2. ファイルの表示とナビゲーション
- 左側のペインには、ウェブページにロードされているすべてのファイル(HTML、CSS、JavaScript、画像など)が表示されます。
- ファイルを展開するには、フォルダをクリックします。特定のファイルをクリックすると、その内容が中央のエディターペインに表示されます。
3. ブレークポイントの設定
ブレークポイントを設定することで、特定の行でコードの実行を一時停止し、コードの状態を詳細に調査できます。
- エディターペインで、ブレークポイントを設定したい行番号をクリックします。青いマーカーが表示され、その行がブレークポイントとして設定されます。
- ブレークポイントを削除するには、もう一度行番号をクリックします。
4. ステップ実行
コードの実行を一時停止した後、以下のボタンを使用してコードをステップ実行できます:
- Continue (再開): コードの実行を再開します。
- Step Over (次の行へ進む): 現在の行を実行し、次の行に進みます。
- Step Into (関数内に入る): 関数の呼び出しに入って詳細を調査します。
- Step Out (関数から出る): 現在の関数の実行を終了し、呼び出し元に戻ります。
5. ウォッチ式の使用
変数の値を監視するためにウォッチ式を設定できます。
- 右側のペインで「Watch」セクションを見つけます。
- 「Add watch expression」をクリックし、監視したい変数名や式を入力します。
- Enterキーを押すと、現在の値が表示されます。
6. Call StackとScopeの調査
- Call Stack: 現在の呼び出しスタックを表示し、どの関数がどの順番で呼び出されたかを確認できます。
- Scope: 現在のスコープ内で定義されている変数とその値を表示します。
以下に、問題演習のためのHTMLファイルとそのファイルに基づいた出題を作成します。このHTMLファイルには基本的なHTML、CSS、およびJavaScriptのコードが含まれています。
問題演習
以下のファイルを作成して実行して下さい。
HTMLファイル: index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>デバッグ演習</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
.hidden {
display: none;
}
</style>
<script>
function showMessage() {
const message = document.querySelector('#message');
message.textContent = 'こんにちは、世界!';
message.classList.remove('hidden');
}
function calculateSum() {
const num1 = parseInt(document.querySelector('#num1').value, 10);
const num2 = parseInt(document.querySelector('#num2').value, 10);
const sum = num1 + num2;
document.querySelector('#result').textContent = '合計: ' + sum;
}
function changeColor() {
const color = document.querySelector('#color').value;
document.body.style.backgroundColor = color;
}
</script>
</head>
<body>
<h1>デバッグ演習</h1>
<button onclick="showMessage()">メッセージを表示</button>
<p id="message" class="hidden"></p>
<h2>計算機</h2>
<input type="number" id="num1" placeholder="数字1">
<input type="number" id="num2" placeholder="数字2">
<button onclick="calculateSum()">計算する</button>
<p id="result"></p>
<h2>背景色変更</h2>
<input type="color" id="color">
<button onclick="changeColor()">色を変更する</button>
</body>
</html>
問題 1: HTMLファイルの読み込みと表示
目的: SourcesタブでHTMLファイルを表示する方法を学ぶ。
index.html
をブラウザで開きます。- Google Developer Toolsを開きます。
- Sourcesタブを選択します。
- 左側のペインで、
index.html
ファイルを見つけてクリックします。 - 期待される結果: 中央のエディターペインに
index.html
ファイルの内容が表示されます。
問題 2: JavaScriptファイルにブレークポイントを設定
目的: JavaScriptコードにブレークポイントを設定し、コードの実行を一時停止する方法を学ぶ。
- Sourcesタブで
index.html
ファイルを開きます。 showMessage
関数のmessage.textContent = 'こんにちは、世界!';
の行にブレークポイントを設定します。- ウェブページに戻り、「メッセージを表示」ボタンをクリックします。
- 期待される結果: ブレークポイントでコードの実行が一時停止し、現在の状態が表示されます。ブレークポイントよりも上の変数名の上にカーソルを当てると現在の値を見ることができます。ブレークポイントを用いることで、コンソールでconsole.log()を使わなくても変数値の確認ができます。
その他の場所にもブレークポイントを置いて動作を確認してみて下さい。
問題 3: 変数の値をウォッチ式で監視
目的: ウォッチ式を使用して変数の値を監視する方法を学ぶ。
- 問題2のブレークポイントでコードの実行を一時停止します。
- 右側のペインで「Watch」セクションを見つけます。
- 「Add watch expression」をクリックし、
message.textContent
を入力します。 - 期待される結果: ウォッチ式に入力した変数の現在の値が表示されます。
問題 4: ステップ実行でコードを調査
目的: ステップ実行を使用してコードの実行フローを調査する方法を学ぶ。
- 問題2のブレークポイントでコードの実行を一時停止します。
- 以下のボタンを使用してコードをステップ実行します:
- Step Over (次の行へ進む)
- Continue (再開)
- Step Into (関数内に入る)
- Step Out (関数から出る)
- 期待される結果: ステップ実行ボタンを使用して、コードの実行フローを詳細に調査できるようになります。
問題 5: Call StackとScopeの調査
目的: Call StackとScopeを調査して、関数の呼び出し順序とスコープ内の変数を確認する方法を学ぶ。
- 問題2のブレークポイントでコードの実行を一時停止します。
- 右側のペインで「Call Stack」セクションを確認します。
- 現在の呼び出しスタックと関数の呼び出し順序を確認します。
- 「Scope」セクションを確認し、スコープ内の変数とその値を確認します。
- 期待される結果: Call StackとScopeを調査して、関数の呼び出し順序と変数の状態を理解できるようになります。
投稿者プロフィール
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
- 新入社員2024年11月23日「ゲシュタルト崩壊」とシステム開発
- 新入社員2024年11月23日データベースでテーブル名やフィールド名にスペースを使うことは、一般的には推奨されていません
- 新入社員2024年11月23日「データにはなぜ型が必要なのか?」を2進数の観点から解説
- 新入社員2024年11月23日ディスプレイの解像度の意味と変更方法