プログラミングの用語一覧へ
このページの目次

オブジェクトとは?

読み方:おぶじぇくと

最終更新:2026/08/18

3秒でわかる

データと、そのデータを扱う操作をひとまとめにした入れ物。バラバラの変数を「誰の何か」という単位で束ねて、扱いやすくするための仕組みです。

もう少し詳しく

どういうものか

オブジェクトは、関係のある値を名前つきでまとめ、その値に対する操作も一緒に持たせたものです。名前と値の組をプロパティ(属性)、オブジェクトが持つ操作をメソッドと呼びます。

userName、userAge、userEmail という三つの変数を持ち回る代わりに、user というひとつのオブジェクトにまとめる、というのが最も基本的な使い方です。

なぜ必要か

変数がバラバラだと、関数へ渡す引数が増え続け、順番を間違えても気づけません。まとまっていれば引数はひとつで済み、後から項目が増えても呼び出し側の書き換えが要りません。さらに、値とその値を正しく扱う手続きが同じ場所にあるので、「この配列は空でないことが前提」といった暗黙のルールがコードの中に閉じ込められます。

具体例

const user = {
  name: "田中",
  age: 28,
  greet() {
    return `${this.name}です`;
  },
};

console.log(user.name);      // 田中
console.log(user["age"]);    // 28  変数でキーを指定したいときはこちら
console.log(user.greet());   // 田中です

user.email = "tanaka@example.com";  // 後から増やせる
delete user.age;                     // 消せる

for (const [key, value] of Object.entries(user)) {
  console.log(key, value);
}

つまずきやすいところ

代入がコピーではないところで多くの人がつまずきます。

const a = { count: 1 };
const b = a;
b.count = 99;
console.log(a.count);  // 99  同じ実体を見ている

b は a の複製ではなく、同じオブジェクトを指す別の名札です。複製したいなら { ...a } のように新しいオブジェクトを作ります。ただしこれで複製されるのは一段目だけで、入れ子のオブジェクトは共有されたままです。

存在しないプロパティを読むとエラーではなく undefined が返る点も見落としがちです。綴りを間違えても静かに undefined が流れていき、離れた場所で表示が空になります。

似た用語との違い

用語関係
クラスオブジェクトを作るための設計図
インスタンス設計図から実際に作られたオブジェクト
配列順番で取り出す入れ物。オブジェクトは名前で取り出す


覚え方

配列が「番号で呼ぶ箱」、オブジェクトが「名前で呼ぶ箱」です。

次に学ぶ

クラスとは?

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地オブジェクトプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

このコースが入っている学習分野

Pythonコースの全編を見る