JS
JavaScript 入門 → 応用
初学者向け VS Code 対応 ブラウザで今すぐ動かして学べる実践コース
第1章 / 全8章
12%
CHAPTER 01
JavaScript の基礎準備 & VS Code 環境構築
JavaScriptはウェブブラウザで動く唯一のプログラミング言語です。
VS Code(Visual Studio Code)を使えば、本格的な開発環境が無料で使えます。
VS Code(Visual Studio Code)を使えば、本格的な開発環境が無料で使えます。
VS Code のセットアップ手順
📁 index.html — まず最初に作るファイル
<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>JS練習</title>
</head>
<body>
<h1>Hello JavaScript!</h1>
<!-- JSはここに書く(bodyの閉じタグ直前が基本)-->
<script>
// これがJavaScriptです
console.log("Hello, World!");
</script>
</body>
</html>
VS Codeで「Live Server」拡張機能をインストールすると、ファイルを保存するたびにブラウザが自動更新されます。F12キー → Consoleタブでログが確認できます。
最初のコードを動かしてみよう
✏️ 編集して実行できます
自由に書き換えてみてください
出力(コンソール)
まだ実行されていません
JavaScriptでブラウザのコンソールに文字を表示するメソッドはどれ?
✅ 正解! console.log() はJSの基本出力メソッドです。VS CodeのターミナルやブラウザのF12コンソールで確認できます。
CHAPTER 02
変数とデータ型
変数はデータを入れる「箱」です。
現代のJSでは
現代のJSでは
let(変更可)と const(定数)を使います。var は古いので使わないようにしましょう。
変数の宣言と型
// ===== 変数の宣言 =====
let name = "田中花子"; // 文字列 (String)
let age = 25; // 数値 (Number)
let isStudent = true; // 真偽値 (Boolean)
let score = null; // null(値なし)
let address; // undefined(未定義)
// const は変更できない定数
const PI = 3.14159;
// ===== 型の確認 =====
console.log(typeof name); // "string"
console.log(typeof age); // "number"
console.log(typeof isStudent); // "boolean"
// ===== テンプレートリテラル(便利!)=====
console.log(`${name}さんは${age}歳です`);
✏️ 自分の名前や年齢に書き換えてみよう
編集 → 実行
出力
まだ実行されていません
後から値を変更できない変数の宣言キーワードはどれ?
✅ 正解! const は定数(constant)の略です。変更が必要なものは let、変わらないものは const を使うのがベストプラクティスです。
CHAPTER 03
条件分岐 (if / else / switch)
プログラムは条件によって異なる処理を実行できます。
比較演算子:
比較演算子:
===(厳密等値)、!==(不等)、>、<、>=、<=
if / else if / else
const score = 75;
// if文の基本
if (score >= 90) {
console.log("優秀!A判定");
} else if (score >= 70) {
console.log("合格!B判定");
} else if (score >= 50) {
console.log("もう少し C判定");
} else {
console.log("要復習 D判定");
}
// switch文(値が多い場合に便利)
const day = "水曜";
switch (day) {
case "月曜":
case "火曜":
console.log("週の前半"); break;
case "水曜":
console.log("週の真ん中!"); break;
default:
console.log("週の後半");
}
// 三項演算子(コンパクトな if/else)
const result = score >= 60 ? "合格" : "不合格";
console.log(`判定: ${result}`);
✏️ score の値を変えて結果を確認しよう
0〜100 で試してみて
出力
まだ実行されていません
JSで「厳密に等しい」を比較する演算子はどれ?
✅ 正解! === は型変換しないので安全です。例:1 == “1” は true ですが 1 === “1” は false になります。
CHAPTER 04
繰り返し処理(ループ)
ループを使うと同じ処理を何度も自動的に実行できます。
配列の全要素を処理したいときに大活躍します。
配列の全要素を処理したいときに大活躍します。
for / while / for…of
// ===== for ループ(回数指定)=====
for (let i = 1; i <= 5; i++) {
console.log(`${i}回目: こんにちは!`);
}
// ===== while ループ(条件が true の間)=====
let count = 0;
while (count < 3) {
console.log(`カウント: ${count}`);
count++;
}
// ===== for...of(配列の各要素に対して)=====
const fruits = ["りんご", "バナナ", "みかん"];
for (const fruit of fruits) {
console.log(`🍎 ${fruit}`);
}
// ===== break / continue =====
for (let n = 1; n <= 10; n++) {
if (n === 5) break; // 5で終了
if (n % 2 === 0) continue; // 偶数をスキップ
console.log(`奇数: ${n}`);
}
✏️ 九九を出力してみよう
二重ループに挑戦!
出力
まだ実行されていません
ループを途中で抜け出すキーワードはどれ?
✅ 正解! break はループを完全に終了します。continue は現在の回だけスキップして次の繰り返しに進みます。
CHAPTER 05
関数 (function)
関数は処理をまとめて名前をつけたもの。何度でも再利用できます。
モダンJSではアロー関数(
モダンJSではアロー関数(
=>)がよく使われます。
関数宣言・関数式・アロー関数
// ① 関数宣言
function greet(name) {
return `こんにちは、${name}さん!`;
}
console.log(greet("花子"));
// ② アロー関数(モダンな書き方)
const add = (a, b) => a + b;
console.log(add(3, 4)); // 7
// ③ デフォルト引数
const power = (base, exp = 2) => base ** exp;
console.log(power(3)); // 9 (3の2乗)
console.log(power(2, 10)); // 1024
// ④ 複数の値を返す(配列・オブジェクト)
const minMax = (arr) => ({
min: Math.min(...arr),
max: Math.max(...arr)
});
const { min, max } = minMax([3, 1, 7, 2, 9]);
console.log(`最小: ${min}, 最大: ${max}`);
✏️ BMI計算機を完成させよう
関数を定義して呼び出す練習
出力
まだ実行されていません
アロー関数の正しい書き方はどれ?
✅ 正解! アロー関数は (引数) => 処理 という形です。処理が一行なら {} と return を省略できます。
CHAPTER 06
配列とオブジェクト
配列は順番のあるリスト、オブジェクトはキーと値のペアの集まりです。
map・filter・reduce などの配列メソッドは必須知識です!
配列の操作・便利メソッド
// ===== 配列の基本 =====
const nums = [10, 20, 30, 40, 50];
console.log(nums[0]); // 10(0始まり)
console.log(nums.length); // 5
// ===== 高階関数(超重要!)=====
// map: 全要素を変換して新配列を作る
const doubled = nums.map(n => n * 2);
console.log(doubled); // [20,40,60,80,100]
// filter: 条件に合う要素だけ抽出
const big = nums.filter(n => n > 25);
console.log(big); // [30,40,50]
// reduce: 全要素を1つの値にまとめる
const total = nums.reduce((acc, n) => acc + n, 0);
console.log(`合計: ${total}`); // 150
// ===== オブジェクト =====
const user = {
name: "太郎",
age: 28,
greet() { return `私は${this.name}です`; }
};
console.log(user.greet());
// 分割代入
const { name, age } = user;
console.log(`${name} (${age}歳)`);
✏️ 商品リストを操作しよう
map / filter / reduce を使いこなそう
出力
まだ実行されていません
配列から条件に合う要素だけを取り出すメソッドは?
✅ 正解! filter() は条件に合う要素だけの新しい配列を返します。find() は最初に見つかった1要素だけを返す点が違います。
CHAPTER 07
DOM操作 — HTMLをJSで動かす
DOM(Document Object Model) を使うとJSからHTMLを読み書きできます。
ボタンのクリックや入力フォームなど、インタラクティブなWebページを作れます。
ボタンのクリックや入力フォームなど、インタラクティブなWebページを作れます。
DOM操作のパターン集
// ===== 要素の取得 =====
const btn = document.getElementById("myBtn");
const title = document.querySelector("h1");
const items = document.querySelectorAll(".item");
// ===== 内容の変更 =====
title.textContent = "新しいタイトル"; // テキスト変更
title.innerHTML = "<span>HTML変更</span>";
// ===== スタイルの変更 =====
title.style.color = "#ff6b6b";
title.style.fontSize = "24px";
// ===== クラスの操作 =====
title.classList.add("active");
title.classList.remove("hidden");
title.classList.toggle("highlight");
// ===== イベントリスナー =====
btn.addEventListener("click", () => {
alert("ボタンがクリックされました!");
});
// ===== 要素の追加 =====
const li = document.createElement("li");
li.textContent = "新しいアイテム";
document.querySelector("ul").appendChild(li);
VS Code でHTMLファイルを開きF5 (Live Server) で起動後、F12のコンソールで getElementById などを試せます。
インタラクティブ デモ(今すぐ動かせます)
← ボタンを押してDOMを変えてみよう
- 最初のアイテム
HTMLの id=”box” の要素をJSで取得する正しい方法は?
✅ 正解! getElementById(“box”) と querySelector(“#box”) はどちらも正しいですが、getElementById は id専用で高速です。querySelector は CSS セレクタ形式で柔軟に使えます。
CHAPTER 08
非同期処理・ES6+応用
非同期処理はWebAPIからデータを取得するときに必須の知識です。
Promise → async/await の流れで理解しましょう。
Promise / async・await / fetch
// ===== Promise の基本 =====
const wait = (ms) =>
new Promise(resolve => setTimeout(resolve, ms));
// ===== async/await(Promiseをシンプルに書く)=====
async function loadData() {
console.log("データ読み込み開始...");
await wait(1000); // 1秒待つ
console.log("完了!");
return { status: "ok" };
}
loadData().then(data =>
console.log("結果:", data));
// ===== fetch で Web API からデータ取得 =====
async function getUser(id) {
try {
const res = await fetch(
`https://jsonplaceholder.typicode.com/users/${id}`
);
const user = await res.json();
console.log(`名前: ${user.name}`);
console.log(`メール: ${user.email}`);
} catch (err) {
console.error("エラー:", err);
}
}
getUser(1);
// ===== モダンJS構文まとめ =====
// スプレッド演算子
const a = [1,2,3]; const b = [4,5];
console.log([...a, ...b]); // [1,2,3,4,5]
// Optional chaining (?.) Nullish coalescing (??)
const obj = { user: { name: "太郎" } };
console.log(obj?.user?.name); // "太郎"
console.log(obj?.admin?.role ?? "一般ユーザー");
✏️ 実際のAPIからデータを取得してみよう
非同期処理を体験
出力
まだ実行されていません
async 関数の中で Promise の完了を待つキーワードは?
✅ 正解! await は async 関数の中でのみ使えます。Promiseの結果が返るまで処理を一時停止し、コードを同期的に読める形で書けます。
🎉 コース完了!次のステップ
おめでとうございます! JavaScriptの基礎から非同期まで学びました。
次は:① React / Vue などのフレームワーク ② Node.js でサーバーサイド ③ TypeScript で型安全な開発 へ進みましょう!
次は:① React / Vue などのフレームワーク ② Node.js でサーバーサイド ③ TypeScript で型安全な開発 へ進みましょう!