🐈
バニラJSで作る!初心者向けTODOアプリ教材
はじめに
JavaScriptを学び始めたとき、まずつまずくのが「DOM操作」や「イベント処理」。
ReactやVueを使う前に、JavaScriptの基本をしっかり理解しておくことはとても大切です。
この記事では、バニラJS(フレームワークを使わない素のJavaScript)だけでTODOアプリを作りながら、次のような内容を丁寧に解説します。
- DOMの基本操作
- イベントリスナーの使い方
- 配列の操作(push / filter など)
- よくあるつまずきポイントとその解消法
まずは「手で書いて、動かして、理解する」ことから始めましょう!
ステップ1:HTMLの準備
<input id="todo-input" type="text" placeholder="やることを入力">
<button id="add-button">追加</button>
<ul id="todo-list"></ul>
-
input
: やることを入力するフォーム -
button
: 「追加」ボタン -
ul
: TODOのリストを表示するエリア
ステップ2:JavaScriptでDOM操作
const input = document.getElementById('todo-input');
const button = document.getElementById('add-button');
const list = document.getElementById('todo-list');
button.addEventListener('click', () => {
const text = input.value;
if (!text) return;
const li = document.createElement('li');
li.textContent = text;
list.appendChild(li);
input.value = '';
});
ここでは次のような基本操作を使っています:
-
getElementById
:HTMLの要素を取得 -
addEventListener
:クリックイベントの処理を設定 -
createElement
/appendChild
:要素を作って追加
よくあるつまずきポイントと解説
「DOMって何?」
→ HTMLの構造をJavaScriptで扱うための仕組み。
「イベントリスナーって何?」
→ ユーザーの操作(クリックなど)に反応する関数を登録する機能。
「なぜ input.value を空にしてるの?」
→ 入力後に入力欄をクリアするため。
発展課題(応用)
TODOアプリに次のような機能を追加して、理解を深めていきましょう:
- 削除ボタンを追加
- ローカルストレージへの保存
- 完了・未完了の切り替え
おわりに
JavaScriptの力をつけるには、まずは「小さなアプリをバニラJSで作ってみる」ことが効果的です。
今回紹介したTODOアプリは、ほんの入り口。
次は、ローカルストレージを使った保存機能や、状態管理の考え方にもチャレンジしてみましょう!
Discussion