こんにちは!Ryuseiです。
今日から、JavaScriptの基本について学んでいきます。これまでHTML・CSS、BEM、Bootstrapと学んできて、いよいよサイトに動きをつけるための一歩です。
まずは、JavaScriptでできることをざっくり整理してみました👇
1. 変数の宣言と代入
宣言方法
種類 | 特徴 | 再代入 | 再宣言 | スコープ |
---|---|---|---|---|
let | 一般的な変数 | 〇 | ✕ | ブロック |
const | 定数(再代入不可) | ✕ | ✕ | ブロック |
var | 古い書き方(非推奨) | 〇 | 〇 | 関数 |
変数宣言
let age = 25;
const NAME = "Taro"; // 定数は大文字で書くことが多い
📌 コメントアウトは //
を使う。
2. 演算子
+
, , ,/
, (四則演算)%
(あまり)++
(インクリメント),-
(デクリメント)- 文字列は
''
やテンプレート文字列
で囲む
1. 算術演算子(数値の計算)
演算子 説明 例 結果
+ 足し算 5 + 2 7
- 引き算 5 - 2 3
* 掛け算 5 * 2 10
/ 割り算 5 / 2 2.5
% 剰余(あまり) 5 % 2 1
++ インクリメント(+1) let x = 5; x++ x = 6
-- デクリメント(-1) let x = 5; x-- x = 4
💡 2. 代入演算子(変数への値の代入)
演算子 説明 例 結果
= 代入 x = 5 xは5になる
+= 加算して代入 x += 3 x = x + 3
-= 減算して代入 x -= 2 x = x - 2
*= 乗算して代入 x *= 2 x = x * 2
/= 除算して代入 x /= 2 x = x / 2
🔍 3. 比較演算子(true/falseを返す)
演算子 説明 例 結果
== 等しい(型変換あり) 5 == "5" true
=== 厳密に等しい(型も比較) 5 === "5" false
!= 等しくない 5 != "5" false
!== 厳密に等しくない 5 !== "5" true
> より大きい 10 > 5 true
< より小さい 2 < 5 true
>= 以上 5 >= 5 true
<= 以下 4 <= 3 false
⚙ 4. 論理演算子(条件を組み合わせる)
演算子 説明 例 結果
&& AND(両方true) true && false false
` ` OR(どちらかtrue)
! NOT(否定) !true false
❓ 5. 三項(条件)演算子
const age = 20;
const result = age >= 18 ? "成人" : "未成年";
console.log(result); // 成人
💬 6. 文字列演算(結合)
const name = "太郎";
console.log("こんにちは、" + name + "さん"); // こんにちは、太郎さん
またはテンプレート文字列:
console.log(`こんにちは、${name}さん`); // こんにちは、太郎さん
3. データ型とオブジェクト
プリミティブ型
- 数値(
number
) - 文字列(
string
) - 真偽値(
boolean
) undefined
:未定義(あまり使わない)null
:意図的に「無」を示すsymbol
,bigint
(特別な用途)
オブジェクト型
- 配列:
[1, 2, 3]
- オブジェクト:
{ key: "value" }
const person = { name: "Taro", age: 20 };
const fruits = ["apple", "banana"];
const person = {
name: "太郎",
age: 25,
isStudent: true,
greet: function() {
console.log("こんにちは!");
}
};
📌 オブジェクトの値には「キーと値」がある(プロパティ)
4. 関数
関数の作り方
// 関数宣言
function greet() {
console.log("Hello!");
}
greet();//ここからgreetで呼び出せるようになる
再利用したい場合はこちら
function greet() {
console.log("Hello!");
}
const sayHello = greet; // 関数そのものを代入(実行しない!)
sayHello(); // Hello!
// 関数式
const greet = function() {
console.log("Hi!");
};
greet();
// アロー関数
const greet = () => {
console.log("Hey!");
};
greet();
引数・デフォルト値・戻り値
function sayHello(name = "John") {
console.log(`Hello, ${name}!`);
}
function getArea(base, height) {
return (base * height) / 2;
}
📌 ...args
で可変長引数(残余引数)
5. スコープとスコープチェーン
- ローカル変数:関数内のみ有効
- グローバル変数:どこでも使える(推奨されない)
function example() {
let localVar = "I’m local";
}
📌 内側から外側の変数にアクセス可能 → スコープチェーン
6. 条件分岐
if / else
if (age >= 18) {
return "成人です";
} else {
return "未成年です";
}
三項演算子
const msg = age >= 18 ? "成人" : "未成年";
switch文
switch (animal) {
case "dog":
console.log("ワン");
break;
case "cat":
console.log("ニャー");
break;
default:
console.log("不明");
}
7. 繰り返し処理
for文
for (let i = 1; i <= 10; i++) {
result += i;
}
while文
while (i <= 10) {
result += i;
i++;
}
forEach(配列用)
animals.forEach(animal => {
console.log(animal);
});
for…in(オブジェクト用)
for (const key in animals) {
console.log(`${key}は「${animals[key]}」と鳴きます`);
}
Objectの便利メソッド
Object.keys(obj); // キーの配列
Object.values(obj); // 値の配列
まとめポイント
let
とconst
を基本に使う(var
は非推奨)- オブジェクト・配列はJavaScriptの超重要パーツ
- アロー関数は省略記法として便利(処理が1行なら
return
すら省略可) - 条件分岐と繰り返し処理でプログラムの流れをコントロール
- スコープ(変数の有効範囲)を意識することが重要!
学んで感じたこと
HTMLやCSSのときと同じで、まずは「書いてみる」「動かしてみる」が大事だなと感じました!
他にも変数宣言やスコープ、条件分岐など、プログラミングの基本的な考え方をしっかり身につけることが大切だと思いました。
これからは、少しずつ「アニメーション」「DOM操作」「イベント」など、JavaScriptの面白いところに触れていきたいと思います!
引き続き頑張ります!
次回は、いよいよ実際にHTMLと組み合わせて、動きのあるWebページを作ってみたいと思います!また備忘録としてまとめるので、楽しみにしていてください
-
【第1回】Next.js × Firebaseチャット構想
こんにちは、Ryuseiです! 今回は、自作のNext.jsアプリにチャット機能を組み込むための構想と、試行錯誤のプロセスを振り返ります。 開発の目的 技術構成…
-
Claude Artifactsが進化:誰でもAIアプリを構築・共有できる時代へ
こんにちは、Ryuseiです! 今回は技術の進化がもたらす新しい可能性についての話題です。2025年、Anthropicの生成AI「Claude」に革新的な新機…
-
【Dify旅行記】地元発!個人開発で作る旅行提案チャットアプリのチャットフロー設計
こんにちは。今回は、地元の魅力を発信しながら、旅行の提案をしてくれるチャットアプリをDifyで個人開発した際のチャットフロー設計についてご紹介します。ブロックの…
-
Googleが新たに発表した「A2A」(Agent2Agent)プロトコルとは?
AI時代のインフラとなるか?Googleが仕掛ける“Agent2Agent(A2A)”の衝撃 2025年4月、Googleは異なるAIエージェント同士の通信を可…