ホーム自己紹介ブログ
NO.84
DATE2022. 07. 09

JavaScriptのdebuggerを使ってデバッグしよう (Browser/Node.js/Jest)

JavaScript の標準機能 debugger を使って、デバッグをしましょう。 標準機能なので、React などのライブラリでも使えます。

Browser

次の HTML ファイルを Chrome で開きます。

<button>Button</button>
<script>
  document.querySelector("button").addEventListener("click", () => {
    debugger;
    alert("Hello World");
  });
</script>

開いたページで、DevTools も開いておきます。 その状態で、Button をクリックしましょう。

そうすると、次の画像のようになります。

browser_debugger

debuggerと書いた箇所で、処理が停止されます。 そのブレークポイントから、ステップイン、ステップアウト、ステップオーバーといった操作ができます。 Console タブで、変数や関数などの実行結果を確認できます。

このように、簡単にデバッグができるようになります。

Node.js

Node.js でも、同様に debugger が使えます。 次の JavaScript コードを用意します。

// main.js
debugger;
console.log("Hello World");

このファイルを次のコマンドで実行します。

node --inspect-brk main.js

実行すると、次の画像のような出力になります。

node_debugger_1

その後、Chrome から chrome://inspect にアクセスしてください。 アクセスすると、次の画像の画面になります。

node_debugger_2

Open dedicated DevTools for Node を Click したら、次の画像のようになります。

node_debugger_3

そうです、さきほどと同じように、debugger の箇所で、処理が停止されます。 簡単ですね。

Jest

テストフレームワークの Jest も、同じように debugger が使えます。 次のテストコードを用意します。

// main.test.js
test("1 equal 1", () => {
  debugger;
  expect(1).toBe(1);
});

このファイルに対して、次のコマンドを実行します。

## mac
node --inspect-brk node_modules/.bin/jest --runInBand main.test.js
## windows
node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand main.test.js

実行すると、次の画像のような出力になります。

jest_debugger_1

また、同じく Chrome からchrome://inspect にアクセスすると、同様にデバッグできます。

jest_debugger_2
jest_debugger_3

Browser,Node.js と同じ使い方になります。 わかりやすいですね。

終わりに

IDE やエディタでデバッグ設定することもできますが、こちらの方が断然楽ですね。

参考

  • developer.mozilla.org
  • https://nodejs.org/ja/docs/guides/debugging-getting-started/
  • jestjs.io
フロントエンド
開発ツール

-

読者になる

|

シェアする

|

silverbirders

silverbirder

Webソフトウェアエンジニア

ブログを応援する

この記事がよかったら、お布施という形で応援してもらえるとうれしいです。

おふせぼたん

※ ログイン不要で投稿できます。

※ 同じブラウザから投稿を削除できます。

0

読み込み中...

次の記事へ前の記事へ

関連する記事

タグ「フロントエンド」の記事

Webフロントエンドのコードレビューメモ2

また、以下の記事の続きを書こうと思います。 https://silverbirder.github.io/blog/contents/20260312/ ビジネスロジック アプリケーションのビジネスロジックに関することについて書きます。 複

2026年03月18日

フロントエンド
Webフロントエンドのコードレビューメモ

Webフロントエンドのコードレビューをしているときに考えていることについて書きます。 毎日1記事投稿、1記事30分という制約を課していますので、本記事は完璧ではありません。(言い訳) また希望的な考えもあるので、実践していないものもあります

2026年03月12日

フロントエンド
AIの書いたコードの手直しを減らすお作法

AI にコードを書かせた後、余計なコードを見つけて消す作業があります。 不毛なことなので、それらの作業を減らすためのお作法を紹介します。 未使用コードを消す 以下でも書きましたが、未使用コードの検査に knip を使うことが多いです。 ht

2026年02月25日

AI
フロントエンド

タグ「開発ツール」の記事

Google Map タイムラインデータをなんとかしたい

以下の記事で書いた通り、Google Map のタイムラインデータが7年分消失しました。 https://silverbirder.github.io/blog/contents/20251123/ こういう経験をすると、データを所有したい

2026年02月28日

開発ツール
Disqusに広告が表示されるようになった

ブログ記事のページ下部に、Disqusを設置しています。 急遽、Disqusの上下に良くわからない広告が大量に表示されるようになりました。 Disqusのメール メールボックスを漁ってみると、以下のメールがありました。 Disqusからのメ

2026年02月06日

開発ツール
DuckDB WASMとOPFSでGoogleマイアクティビティをブラウザ完結で可視化してみた

DuckDB WASMとOrigin Private File System (OPFS) を組み合わせ、Google マイアクティビティの履歴をブラウザ内に閉じたまま扱えるようにしたときの設計と学びを整理しました。

2025年09月17日

開発ツール
ブラウザ
← ブログ一覧へ