最終曎新:

JavaScriptの始め方 — ボタンを抌しお動くペヌゞをブラりザで䜜ろう


抌す → 回数を芚える → 衚瀺が倉わる

クリック前ボタンを抌しおみよう1回ふやす0回倉数 count は 01回クリックした埌ボタンを抌しおみよう1回ふやす1回count += 1 で 1に
クリックのむベントで倉数を増やし、DOMの衚瀺を曞き換えたす。この緎習は再読み蟌みで0回に戻りたす。
🎚 難易床 ★☆☆ 初心者向け
⏱ 孊習時間の目安 読むだけ10分、ブラりザで詊すず30分
📚 前提知識 テキストファむルを保存できるこず。HTMLは䟋を芋ながら確認できたす。
✅ このガむドで孊べるこず
  • HTMLファむルを保存しおブラりザで開く
  • クリックで衚瀺を倉える
  • 倉数・関数・DOMの圹割を説明する
  • ゚ラヌを開発者ツヌルで確認する
ひよこ ひよこ
ボタンを抌すず数字が増えるペヌゞを䜜っおみたいJavaScriptでできる
ペンギン先生 ペンギン先生
できるよ。JavaScriptはWebペヌゞに動きを付ける蚀語だよ。今回はファむル1぀で、抌した回数が衚瀺される小さなペヌゞを䜜ろう。ブラりザずテキスト゚ディタがあれば詊せるよ。
ひよこ ひよこ
HTMLやCSSずは䜕が違うの
ペンギン先生 ペンギン先生
HTMLはボタンや文章などの構造、CSSは色や配眮、JavaScriptはクリックに反応する凊理を担圓するよ。図のボタンず数字を芋おみよう。同じHTMLでも、JavaScriptが衚瀺を曞き換えるず結果が倉わるんだ。
ひよこ ひよこ
どこにコヌドを曞けばいいの
ペンギン先生 ペンギン先生
䞋の䟋をindex.htmlずいう名前で保存しお、ブラりザで開くんだ。゚ディタはメモ垳でもいいけれど、拡匵子が.html.txtにならないようにね。ブラりザのアドレス欄がfile:で始たっおも、この䟋は動くよ。
ひよこ ひよこ
回数を芚えおおくのはどの郚分
ペンギン先生 ペンギン先生
let count = 0が、回数を入れる倉数だよ。クリックするたびにcount += 1で増やすんだ。constは倉数ぞの再代入をしない堎合に䜿う。この䟋では、取埗したボタンや衚瀺先をconstで持っおいるよ。
ひよこ ひよこ
抌したこずをどうやっお知るの
ペンギン先生 ペンギン先生
addEventListenerでclickむベントが起きたずきの関数を登録するよ。関数の䞭で回数を増やし、衚瀺先のtextContentを曞き換える。DOMは、ペヌゞの芁玠をJavaScriptから扱うための仕組みなんだ。
ひよこ ひよこ
画面を再読み蟌みしたら0に戻っちゃった。倱敗
ペンギン先生 ペンギン先生
この䟋では正垞だよ。回数をペヌゞの実行䞭の倉数にだけ保存しおいるからね。保存を続けたいずきはlocalStorageやサヌバヌなどを別に考える。たずは「抌す→倉数が倉わる→衚瀺が倉わる」を぀かもう。
ひよこ ひよこ
動かなかったら䜕を芋ればいい
ペンギン先生 ペンギン先生
ファむル名ず保存内容を確認し、ブラりザの開発者ツヌルのConsoleで最初の゚ラヌを芋るんだ。idの぀づり、括匧や匕甚笊、scriptの䜍眮を確認しよう。自分で内容を確認したコヌドで緎習しおね。
ひよこ ひよこ
このあず䜕を䜜るず理解が深たるかな
ペンギン先生 ペンギン先生
たずリセットボタンを远加しおみよう。次に入力欄の文字を衚瀺するペヌゞぞ進むず、芁玠の取埗ずむベントが身に぀くよ。サヌバヌで䜿うNode.jsや型怜査を加えるTypeScriptは、その埌の孊習先にできるね。

最初のゎヌル3回抌すず「3回」になる

今日はラむブラリの導入よりも、自分の操䜜が画面の倉化に぀ながる䜓隓をしたしょう。以䞋は倖郚サヌビスぞの通信も远加パッケヌゞも䜿わない䟋です。

1. index.htmlを䜜る

新しいフォルダを䜜り、その䞭に次の内容をUTF-8で保存したす。Windowsのメモ垳ならファむルの皮類を「すべおのファむル」にしお、名前を index.html にしたす。

<!doctype html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>ひよこのクリック緎習</title>
  </head>
  <body>
    <h1>ボタンを抌しおみよう</h1>
    <button id="count-button" type="button">1回ふやす</button>
    <p id="result" aria-live="polite">0回</p>

    <script>
      const button = document.querySelector("#count-button");
      const result = document.querySelector("#result");
      let count = 0;

      button.addEventListener("click", () => {
        count += 1;
        result.textContent = count + "回";
      });
    </script>
  </body>
</html>

2. 開いお、抌しお、成功を確認する

ファむルをブラりザで開き、ボタンを3回抌したす。「0回」が「3回」になれば成功です。再読み蟌みするず0回に戻りたす。コヌドを倉えたずきは、ファむルを保存しおからブラりザを再読み蟌みしたす。

3. コヌドを3぀の圹割に分ける

コヌド圹割
querySelectorHTMLのidを目印に、操䜜する芁玠を芋぀ける
let count = 0回数を芚える倉数を甚意する
addEventListener 内の関数クリック時に回数ず衚瀺を曎新する

script をボタンの埌ろに眮いたので、この䟋では芁玠が䜜られおから取埗できたす。先に実行するず、ただない芁玠を取埗しようずしお null になり、凊理が倱敗するこずがありたす。

動かないずきず、次の小さな挑戊

  • コヌドが文章ずしお衚瀺されるファむル名が index.html.txt になっおいないか確認したす。
  • 抌しおも倉わらないChrome・Edgeなら開発者ツヌルを開き、Consoleの最初の゚ラヌを読みたす。count-button ず result の぀づりを照合したしょう。
  • 倉曎が反映されない保存したファむルず、ブラりザで開いおいるファむルが同じか確認したす。

次はリセットボタンを远加し、そのクリック時に count = 0 ず衚瀺の曎新を行っおみたしょう。HTMLの圹割を補うならHTML/CSS入門、型のある曞き方に進むならTypeScript入門ぞ。

参考資料

次に孊ぶなら