1日目のゴールと全体像
BMI計算機アプリ 1日目のテーマは 「JavaScriptでHTMLを動かし、ユーザー入力を使ってBMIを計算する“最小の動くアプリ”を作ること」 です。
この日はまだ複雑な機能は入れず、まずは
- HTML/CSS と JavaScript の連携
- DOM操作(HTML要素をJavaScriptで触る)
- イベント処理(ボタンを押したら計算する)
- JavaScriptの基本文法(変数・条件分岐・関数)
を使って、 「身長と体重を入力 → BMIを計算 → 結果を表示」 という流れを作ります。
HTML と JavaScript の関係を理解する
JavaScript は単体では画面を持ちません。 HTML が「画面」、JavaScript が「動き」を担当します。
例:BMI計算機の画面(HTML)
<div>
<label>身長(cm):</label>
<input id="heightInput" type="number">
<label>体重(kg):</label>
<input id="weightInput" type="number">
<button id="calcBtn">BMIを計算</button>
<p id="result"></p>
</div>
JavaScript がやること
heightInputの値を取得weightInputの値を取得- BMIを計算
resultに表示
この「HTMLの要素をJavaScriptで触る」ことを DOM操作 と呼びます。
DOM操作の基本:document.getElementById()
HTMLの要素をJavaScriptで触るには、 IDを使って要素を取得 します。
const heightInput = document.getElementById("heightInput");
const weightInput = document.getElementById("weightInput");
const result = document.getElementById("result");
JavaScript深掘りポイント
documentは「HTML全体」getElementById()は「IDで要素を探す」- 取得した要素は 変数に入れて使う
DOM操作は JavaScript の基礎中の基礎です。
イベント処理:ボタンを押したら計算する
JavaScriptで「ボタンを押したら何かする」には イベントリスナー を使います。
const button = document.getElementById("calcBtn");
button.addEventListener("click", function() {
console.log("ボタンが押されました!");
});
JavaScript深掘りポイント
"click"は「クリックされたとき」function() { ... }の中に「押されたらやること」を書く- これが イベント処理 の基本形
BMI計算の公式
BMIは次の式で求めます。
身長は cm で入力されるので、 m に変換する必要があります(÷100)。
BMI計算の関数を作る
function calcBMI(heightCm, weightKg) {
const heightM = heightCm / 100; // cm → m
const bmi = weightKg / (heightM * heightM);
return bmi;
}
JavaScript深掘りポイント
- 関数は「処理のまとまり」
returnで結果を返す- BMI計算を関数にしておくと、後で再利用できる
入力値を取得して計算する流れ
button.addEventListener("click", function() {
const height = Number(heightInput.value); // 入力値を数値に変換
const weight = Number(weightInput.value);
if (height <= 0 || weight <= 0) {
result.textContent = "正しい値を入力してください。";
return;
}
const bmi = calcBMI(height, weight);
result.textContent = `あなたのBMIは ${bmi.toFixed(1)} です。`;
});
JavaScript深掘りポイント
.valueは「入力された文字列」Number()で数値に変換- 条件分岐で「正しい値かどうか」をチェック
.textContentで画面に文字を表示toFixed(1)で小数1桁に整形
1日目の完成コード(HTML+JavaScript)
HTML(画面)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BMI計算機</title>
</head>
<body>
<h2>BMI計算機</h2>
<label>身長(cm):</label>
<input id="heightInput" type="number">
<label>体重(kg):</label>
<input id="weightInput" type="number">
<button id="calcBtn">BMIを計算</button>
<p id="result"></p>
<script src="script.js"></script>
</body>
</html>
JavaScript(動き)
// HTML要素を取得
const heightInput = document.getElementById("heightInput");
const weightInput = document.getElementById("weightInput");
const result = document.getElementById("result");
const button = document.getElementById("calcBtn");
// BMI計算関数
function calcBMI(heightCm, weightKg) {
const heightM = heightCm / 100; // cm → m
const bmi = weightKg / (heightM * heightM);
return bmi;
}
// ボタンが押されたら計算する
button.addEventListener("click", function() {
const height = Number(heightInput.value);
const weight = Number(weightInput.value);
// 入力チェック
if (height <= 0 || weight <= 0) {
result.textContent = "正しい値を入力してください。";
return;
}
const bmi = calcBMI(height, weight);
result.textContent = `あなたのBMIは ${bmi.toFixed(1)} です。`;
});
JavaScript1日目で本当に掴んでほしいこと
● JavaScriptは「HTMLを動かす言語」
画面はHTML、動きはJavaScript。 この関係を理解すると、Webアプリ開発が一気に楽になります。
● DOM操作は必須スキル
- 要素を取得
- 値を読み取る
- 値を書き換える
これができれば、ほとんどのWebアプリが作れます。
● イベント処理で「ユーザーの操作に反応する」
ボタンを押したら計算する。 これがアプリの基本です。
● 関数で処理を分けると読みやすくなる
BMI計算を関数にしたことで、コードが整理されました。
次のステップ
2日目では、さらに一歩進んで
- BMIの判定(痩せ・普通・肥満)を追加
- CSSで見た目を整える
- 入力チェックを強化する
- イベント処理を複数追加する
という「使いやすいBMI計算機」へ育てていきます。
続きはこちら BMI計算機 2日目:判定・CSS・入力チェック


