💡 記事の下にエディタを用意しています。壊してもOK!

更新日: 2026年5月31日

JavaScriptでカウンターを実装する方法

📌

結論

カウンターは let + クリックイベント + textContent で実装

📝 実際のコードはこちら
let count = 0;
btn.addEventListener('click', () => {
  count++;
  display.textContent = count;
});

まとめ

let で再代入可能なカウンター変数 ・クリックごとに count++ で増加 ・textContent で表示を更新

演習で試してみよう

カウンターを実装してみましょう。

🧪 ここで試せます ─ 壊しても大丈夫!

下のエディタで実際にコードを書いて、すぐにプレビューで確認できます。何度でもやり直せるので、思い切って色々試してみてください。

■ 演習

ボタンクリックでカウントを1増やし、idがcountの要素に表示してください。

詰まったらヒント

let count = 0; クリックで count++; element.textContent = count;

25pt

カウンター

ボタンクリックでカウントを1増やし、idがcountの要素に表示してください。

エラーをクリックで該当行をハイライト。✕=エラー ⚠=警告 ›=ログ。

ロードマップ · 全解説

この演習を深掘りする

「カウンター」は上級レベルのJavaScript(DOM)演習です。ボタンクリックでカウントを1増やし、idが「count」の要素に表示してください。 この課題は、ブラウザ内エディタでその場実行でき、正誤判定も自動で行われます。

状態を変数で持ち、イベントで更新して表示します。 実務では同様のパターンがコードレビューやUI実装の現場で繰り返し登場します。

学習ロードマップ「project」とセットで進めると、インプット→アウトプットの循環が作れます。演習#72はカテゴリ「project」の中核スキルを固める位置づけです。

取り組み手順(ステップバイステップ)

  1. ページ上部の解説記事を読み、「カウンター」のゴールを把握する
  2. エディタのJavaScript(DOM)欄を確認し、スターターコードから書き始める
  3. 詰まったらヒントを開き、解答例と見比べながら差分を埋める
  4. 「実行」ボタンでプレビュー/コンソールを確認し、期待どおりの表示になるかテストする
  5. 正解判定では「addEventListener」「textContent」などが含まれることを確認します。
  6. 正解後は前後の演習リンクから続けて取り組み、同カテゴリを通しで完成させる

解答コードの読み解き方

JavaScript側では document.getElementById、addEventListener が使われています。API名のtypoとawaitの有無を確認してください。 解説: 状態を変数で持ち、イベントで更新して表示します。 ヒントの要点: let count = 0; クリックで count++; element.textContent = count;

実務・転職でどう活きるか

TODO・カウンター・タイマーは技術面接のライブコーディング題材にもなります。小さく完成させる経験がポートフォリオの説得力になります。

よくある間違い

  • ヒントを読まずに解答を見る: let count = 0; クリックで count++; element.textContent = count;
  • getElementByIdのID文字列がHTML側のid属性と1文字でも違うとnullになる
  • 状態(count等)をDOMだけに持つ
  • イベントリスナーの二重登録
  • localStorageに機密情報を保存

トラブルシューティング

実行してもプレビューが変わらない
JavaScript(DOM)の編集欄を触っているか確認し、実行ボタンを押したあと数秒待ってから再確認してください。
正解なのに判定が通らない
正解判定では「addEventListener」「textContent」などが含まれることを確認します。 全角スペースやtypo、タグの閉じ忘れを疑ってください。
コンソールにエラーが出る
DevToolsのConsoleタブで行番号を確認し、括弧・引用符の対応を見直します。
スマホで入力しづらい
横画面にするか、PCブラウザで同じURLを開くと快適です。進捗はlocalStorageに保存されます。

転職・面接で話せるポイント

  • 「カウンター」で扱う技術を自分の言葉で30秒説明できるようにしておく
  • 解答コードの各行が何をしているか、面接官に白板で説明する練習をする
  • JavaScript API(document.getElementById, addEventListener)の使いどころを実例付きで話せる
  • 「なぜこの実装方法を選んだか」「別解はあるか」を必ず1つ用意する

用語集

localStorage
ブラウザにキー値データを永続保存。
setTimeout
指定時間後に関数を実行。
状態管理
アプリのデータ(カウント等)を一箇所で扱う考え方。

このページで扱うキーワード

このページは「カウンター」「project」「上級」「document.getElementById」「addEventListener」「project counter」などのキーワードで検索される方に向けた、カウンターの無料演習・解説です。

関連する開発ツール

学習ロードマップ

学習ロードマップ →

関連する演習

よくある質問(FAQ)

カウンターは無料ですか?

この演習は完全無料で、ブラウザだけで完結します。アカウント登録やクレジットカードは不要です。

難易度と所要時間は?

「カウンター」は難易度「上級」です。解説記事を読んでから取り組めば、プログラミング未経験でも30分以内に解ける設計になっています。 1問あたり5〜15分が目安です。詰まったらヒント→解答の順で確認してください。

正解後は何をすればいい?

正解したら「次の問題」リンクから続けてください。同カテゴリを一通り終えたら、学習ロードマップの次ステップへ進むのがおすすめです。

スマホでもできますか?

スマートフォンのブラウザでもエディタとプレビューは動作します。ただしコード入力はPCの方が快適です。

他の演習はどこ?

演習一覧は/learn/から。カテゴリ・難易度でフィルターできます。

「カウンター」で覚えるポイントは?

状態を変数で持ち、イベントで更新して表示します。 ヒント: let count = 0; クリックで count++; element.textContent = count;

実践プロジェクトカテゴリの位置づけは?

TODO・カウンター・タイマーは技術面接のライブコーディング題材にもなります。小さく完成させる経験がポートフォリオの説得力になります。

「カウンター」の具体的な手順は?

1. ページ上部の解説記事を読み、「カウンター」のゴールを把握する
2. エディタのJavaScript(DOM)欄を確認し、スターターコードから書き始める
3. 詰まったらヒントを開き、解答例と見比べながら差分を埋める
4. 「実行」ボタンでプレビュー/コンソールを確認し、期待どおりの表示になるかテストする
5. 正解判定では「addEventListener」「textContent」などが含まれることを確認します。
6. 正解後は前後の演習リンクから続けて取り組み、同カテゴリを通しで完成させる

解答コードの読み方は?

JavaScript側では document.getElementById、addEventListener が使われています。API名のtypoとawaitの有無を確認してください。

解説: 状態を変数で持ち、イベントで更新して表示します。

ヒントの要点: let count = 0; クリックで count++; element.textContent = count;

うまくいかないときは?

実行してもプレビューが変わらない → JavaScript(DOM)の編集欄を触っているか確認し、実行ボタンを押したあと数秒待ってから再確認してください。
正解なのに判定が通らない → 正解判定では「addEventListener」「textContent」などが含まれることを確認します。 全角スペースやtypo、タグの閉じ忘れを疑ってください。
コンソールにエラーが出る → DevToolsのConsoleタブで行番号を確認し、括弧・引用符の対応を見直します。
スマホで入力しづらい → 横画面にするか、PCブラウザで同じURLを開くと快適です。進捗はlocalStorageに保存されます。

転職・ポートフォリオでどうアピールする?

「カウンター」で扱う技術を自分の言葉で30秒説明できるようにしておく 解答コードの各行が何をしているか、面接官に白板で説明する練習をする JavaScript API(document.getElementById, addEventListener)の使いどころを実例付きで話せる 「なぜこの実装方法を選んだか」「別解はあるか」を必ず1つ用意する

スターターコードは変更していい?

はい。動けばOKですが、まずはスターターを理解してから差分だけ足すと学習効率が上がります。

点数(pt)の意味は?

25ptは難易度の目安です。合計点を競う必要はなく、理解度を測る指標として使ってください。