
配列に続いて、「オブジェクト」を学びました。オブジェクトは配列と同様に複数のデータをまとめて管理しますが、プロパティ名(名前)を付けて管理する点が特徴です。
オブジェクトとは
オブジェクトは、複数のデータを、プロパティ名と値のペアでまとめて管理するデータ型です。
構文: {プロパティ名1: 値1, プロパティ名2: 値2, ...}
const user = {
name: "太郎",
age: 25,
city: "Tokyo"
};
console.log(user);
// {name: "太郎", age: 25, city: "Tokyo"}
波括弧 {} で囲み、プロパティ名: 値 の形式で定義します。
配列とオブジェクトの違い
配列(インデックス番号で管理)
const user = ["太郎", 25, "Tokyo"];
console.log(user[0]); // 太郎
console.log(user[1]); // 25
console.log(user[2]); // Tokyo
配列は、インデックス番号で要素を取り出します。
オブジェクト(プロパティ名で管理)
const user = {
name: "太郎",
age: 25,
city: "Tokyo"
};
console.log(user.name); // 太郎
console.log(user.age); // 25
console.log(user.city); // Tokyo
オブジェクトは、プロパティ名で値を取り出します。
オブジェクトの値を取り出す
構文: オブジェクト.プロパティ名
const product = {
name: "ノートPC",
price: 120000,
stock: 5
};
console.log(product.name); // ノートPC
console.log(product.price); // 120000
.(ドット)の後にプロパティ名を書くことで、値を取り出せます。
オブジェクトの値を更新する
オブジェクトの値も、後から変更できます。
構文: オブジェクト.プロパティ名 = 新しい値
const product = {
name: "ノートPC",
price: 120000,
stock: 5
};
// 在庫数を更新
product.stock = 3;
console.log(product.stock); // 3
存在しないプロパティにアクセスすると?
存在しないプロパティにアクセスすると、undefined が返されます。
const user = {
name: "太郎",
age: 25
};
console.log(user.email); // undefined
undefined は、「値が定義されていない」という意味です。
undefinedが表示される理由
以下の2つの場合に undefined が表示されます:
- 存在しないプロパティにアクセスした
- 存在しないインデックス番号にアクセスした(配列の場合)
const fruits = ["りんご", "バナナ"];
console.log(fruits[5]); // undefined(5番目の要素は存在しない)
const user = {name: "太郎"};
console.log(user.age); // undefined(ageプロパティは存在しない)
配列とオブジェクトの使い分け
配列が適している場合
- 同じ種類のデータをまとめる
- 順番が重要
- 繰り返し処理で全要素を扱う
// 果物のリスト(同じ種類のデータ)
const fruits = ["りんご", "バナナ", "オレンジ"];
オブジェクトが適している場合
- 異なる種類のデータをまとめる
- データに意味を持たせたい
- プロパティ名で直接アクセスしたい
// ユーザー情報(異なる種類のデータ)
const user = {
name: "太郎",
age: 25,
email: "taro@example.com"
};
気をつけたいこと:変数や定数の宣言を忘れない
JavaScriptでは、変数や定数を使うとき、必ず let や const で宣言する必要があります。
// ❌ 宣言を忘れるとエラー
user = {name: "太郎", age: 25};
// ✅ 正しい
const user = {name: "太郎", age: 25};
Pythonでは宣言が不要でしたが、JavaScriptでは必須です。
Pythonの辞書との比較
JavaScriptのオブジェクトは、Pythonの辞書(dictionary)に相当します。
# Python(辞書)
user = {"name": "太郎", "age": 25}
print(user["name"]) # 太郎
// JavaScript(オブジェクト)
const user = {name: "太郎", age: 25};
console.log(user.name); // 太郎
主な違い
| 項目 | Python | JavaScript |
|---|---|---|
| 定義 | {"キー": 値} | {キー: 値} |
| アクセス | 辞書["キー"] | オブジェクト.キー |
| キーの囲み | 必須("") | 不要 |
JavaScriptでは、プロパティ名を""で囲まなくても良い点が便利です。
今日の学びのポイント
- オブジェクト:
{プロパティ名: 値}で定義 オブジェクト.プロパティ名で値を取り出すオブジェクト.プロパティ名 = 新しい値で更新- 存在しないプロパティは
undefined - 使い分け: 同じ種類のデータ → 配列、異なる種類 → オブジェクト
- JavaScriptでは変数・定数の宣言が必須(Pythonとの違い)
オブジェクトは、複雑なデータを扱うときに欠かせないデータ構造です。次は、処理をまとめる「関数」を学びます。


コメント