第4回
JavaScriptってなに?ページに動きをつけよう
ページに動きをつけるJavaScriptを小学生向けに解説。ボタンを押すと文字が変わる例を見て、HTML・CSS・JavaScriptの3つの役割のちがいを整理します。
制作・運営:React Guide 運営者
3つのことば、それぞれの役わり
ここまでで HTML と CSS を見ました。3つめが JavaScript(ジャバスクリプト) です。それぞれの役わりをならべると、こうなります。
| ことば | 役わり | たとえ |
|---|---|---|
| HTML | なにがあるか(ほね組み) | 家の柱・壁 |
| CSS | どう見えるか(見た目) | 服・かざり |
| JavaScript | おしたらどうなるか(動き) | ロボットの脳 |
HTMLだけでもリンクやフォームは動き、CSSでもアニメーションは作れます。ボタンで数を計算するなど、自分で決めた処理にはJavaScriptを使います。そこに JavaScript を足すと、ボタンをおしたり、数字が変わったり、動くようになります。
ボタンをおすと文字が変わる
たとえば、ボタンをおすと「(ここに出ます)」が「こんにちは!」に変わる、という動きを書いてみます。
<button onclick="document.getElementById('msg').innerText = 'こんにちは!'">
あいさつする
</button>
<p id="msg">(ここに出ます)</p>むずかしく見えますが、やっていることはシンプルです。
<button>… おせるボタンonclick="..."… 「おされたら、これをやってね」という指示document.getElementById('msg')…id="msg"の場所をさがす.innerText = 'こんにちは!'… その中の文字を「こんにちは!」に書きかえる
ボタンをおす前と、おしたあとでは、こう変わります。
(ここに出ます)
こんにちは!
ボタンをおした「合図」を受けて、JavaScriptが文字を書きかえてくれました。これが「動き」です。
だから React が登場する
ボタン1個ならいいですが、画面が大きくなって「ここも変えたい」「あそこも変えたい」が増えると、document.getElementById(...) のような書き方は、こんがらがってきます。
その「動き」を、もっとかんたんに・きれいに書けるようにする道具が React です。次のセクションから、いよいよReactに入ります。
JavaScriptは奥が深いことばですが、このシリーズではReactを使ううちに、必要なところを少しずつ覚えていきます。今は「JavaScript=動きをつけることば」とわかっていれば十分です。
まとめ
- JavaScriptはページに動きをつけることば(HTML=ほね組み、CSS=見た目、JS=動き)
- ボタンの
onclickで「おされたらどうするか」を指示できる - 動きが増えると素のJavaScriptは大変になる → それをラクにするのが React
- JavaScriptはReactを使いながら少しずつ覚えればOK
次の第5回からは、いよいよ React です。「部品で作る」という新しい考え方を学びましょう。
確認してみる
HTMLの例をindex.htmlに保存して開き、ボタンを押す。idを変えると文字が変わらなくなるので、msgという名前が対応しているか確認する。
同じテーマの教材
なぜReactなのか:コンポーネント思考と宣言的UIを理解する
HTMLのコピペ地獄からコンポーネント思考へ。jQueryとReactの違い、宣言的UIとは何かを対話形式でゼロから解説。
自分のパソコンでReactを動かそう(つぎの一歩)
StackBlitzで作ったものを自分のパソコンでも動かす方法を小学生向けに解説。Node.jsの準備とViteでReactプロジェクトを作る手順、そして次に学ぶことを案内します。
じゃんけんゲームを作ろう(勝ち負けを判定)
コンピュータとじゃんけんできるゲームを作る回。自分の手をボタンで選び、相手の手を乱数で決めて、勝ち・負け・あいこを判定する方法を小学生向けに解説します。