1日目のゴールと全体像
年齢計算機アプリ 1日目のテーマは 「生年月日を入力すると“現在の年齢”を計算して表示する、最小の動くWebアプリを作ること」 です。
この日はまだ複雑な機能は入れず、まずは
- HTML/CSS と JavaScript の連携
- DOM操作(HTML要素をJavaScriptで触る)
- イベント処理(ボタンを押したら計算する)
- JavaScriptの基本文法(変数・条件分岐・関数)
を使って、 「生年月日を入力 → 年齢を計算 → 結果を表示」 という流れを作ります。
年齢計算の仕組みを理解する
年齢計算はとてもシンプルです。
基本式
現在の年 - 生まれた年
ただし、誕生日を迎えていない場合は 1歳引く必要があります。
これを JavaScript の Date オブジェクトで扱います。
HTML と JavaScript の関係
JavaScript は単体では画面を持ちません。 HTML が「画面」、JavaScript が「動き」を担当します。
年齢計算機の画面(HTML)
<div>
<label>生年月日:</label>
<input id="birthInput" type="date">
<button id="calcBtn">年齢を計算</button>
<p id="result"></p>
</div>
JavaScript がやること
birthInputの値を取得- 年齢を計算
resultに表示
これが DOM操作 の基本です。
DOM操作の基本:document.getElementById()
HTMLの要素をJavaScriptで触るには、 IDを使って要素を取得 します。
const birthInput = document.getElementById("birthInput");
const result = document.getElementById("result");
const button = document.getElementById("calcBtn");
JavaScript深掘りポイント
documentは「HTML全体」getElementById()は「IDで要素を探す」- 取得した要素は 変数に入れて使う
DOM操作は JavaScript の基礎中の基礎です。
イベント処理:ボタンを押したら計算する
JavaScriptで「ボタンを押したら何かする」には イベントリスナー を使います。
button.addEventListener("click", function() {
console.log("ボタンが押されました!");
});
JavaScript深掘りポイント
"click"は「クリックされたとき」function() { ... }の中に「押されたらやること」を書く- これが イベント処理 の基本形
年齢計算の関数を作る
function calcAge(birthDate) {
const today = new Date();
const birth = new Date(birthDate);
let age = today.getFullYear() - birth.getFullYear();
const hasBirthdayPassed =
today.getMonth() > birth.getMonth() ||
(today.getMonth() === birth.getMonth() && today.getDate() >= birth.getDate());
if (!hasBirthdayPassed) {
age -= 1;
}
return age;
}
JavaScript深掘りポイント
new Date()で日付オブジェクトを作る- 月や日を比較して「誕生日を迎えたか」を判定
- 条件分岐で年齢を調整する
入力値を取得して計算する流れ
button.addEventListener("click", function() {
const birthValue = birthInput.value;
if (!birthValue) {
result.textContent = "生年月日を入力してください。";
return;
}
const age = calcAge(birthValue);
result.textContent = `あなたの年齢は ${age} 歳です。`;
});
JavaScript深掘りポイント
.valueは「入力された文字列」- 入力が空の場合はエラー表示(条件分岐)
.textContentで画面に文字を表示
1日目の完成コード(HTML+JavaScript)
HTML(画面)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>年齢計算機</title>
</head>
<body>
<h2>年齢計算機</h2>
<label>生年月日:</label>
<input id="birthInput" type="date">
<button id="calcBtn">年齢を計算</button>
<p id="result"></p>
<script src="script.js"></script>
</body>
</html>
JavaScript(動き)
// HTML要素を取得
const birthInput = document.getElementById("birthInput");
const result = document.getElementById("result");
const button = document.getElementById("calcBtn");
// 年齢計算関数
function calcAge(birthDate) {
const today = new Date();
const birth = new Date(birthDate);
let age = today.getFullYear() - birth.getFullYear();
const hasBirthdayPassed =
today.getMonth() > birth.getMonth() ||
(today.getMonth() === birth.getMonth() && today.getDate() >= birth.getDate());
if (!hasBirthdayPassed) {
age -= 1;
}
return age;
}
// ボタンが押されたら計算する
button.addEventListener("click", function() {
const birthValue = birthInput.value;
if (!birthValue) {
result.textContent = "生年月日を入力してください。";
return;
}
const age = calcAge(birthValue);
result.textContent = `あなたの年齢は ${age} 歳です。`;
});
JavaScript1日目で本当に掴んでほしいこと
● JavaScriptは「HTMLを動かす言語」
画面はHTML、動きはJavaScript。 この関係を理解すると、Webアプリ開発が一気に楽になります。
● DOM操作は必須スキル
- 要素を取得
- 値を読み取る
- 値を書き換える
これができれば、ほとんどのWebアプリが作れます。
● イベント処理で「ユーザーの操作に反応する」
ボタンを押したら計算する。 これがアプリの基本です。
● 関数で処理を分けると読みやすくなる
年齢計算を関数にしたことで、コードが整理されました。
次のステップ
2日目では、さらに一歩進んで
- 年齢の詳細(生後何日・何ヶ月)を表示
- CSSで見た目を整える
- 入力チェックを強化する
- イベント処理を複数追加する
という「使いやすい年齢計算機」へ育てていきます。
続きはこちら 年齢計算機 2日目を学ぶ


