
JavaScriptを学ぶ上で「オブジェクト」の理解は不可欠です。これは変数や関数と同じく、言語の根本的なパーツの一つであり、設計パターンやデータ構造を理解する上での要矩です。
この記事ではJavaScriptのオブジェクトについて、基礎知識から強力な実装テクニックまで、完全解説します。
Contents
【基礎】JavaScriptのオブジェクトとは何か
JavaScriptでは「すべてはオブジェクト」といえるほど、この概念がコアになっています。オブジェクトとは、「キー(key)と値(value)の組み合わせ」で構成されるデータ構造です。
例:基本のオブジェクト
const user = {
name: "Taro",
age: 25,
isMember: true
};
これはuserという名前のオブジェクトで、name age isMemberがキー、それぞれに値が設定されています。
【実践】プロパティの読み取りと変更
読み取り
console.log(user.name); // "Taro"
console.log(user["age"]); // 25
変更
user.age = 26;
user["isMember"] = false;
【強力】ネスト構造や関数を含める
JavaScriptのオブジェクトは、ネスト構造や関数を含めることもできます。
const user = {
name: "Mio",
contact: {
email: "mio@example.com",
phone: "080-0000-0000"
},
greet: function() {
console.log(`Hello, I'm ${this.name}`);
}
};
user.greet(); // Hello, I'm Mio
【専門】Objectクラスの基本API
Object.keys() / Object.values() / Object.entries()
Object.keys(user); // ["name", "contact", "greet"]
Object.values(user); // ["Mio", {...}, function() {...}]
Object.entries(user);
hasOwnProperty()
キーが存在するかの確認
user.hasOwnProperty("name"); // true
delete キー値を削除
delete user.contact;
【作り方】オブジェクトの生成方法
1. リテラルオブジェクト文法
もっとも基本の作り方
const obj = {
key: "value"
};
2. new Object()
const obj = new Object();
obj.key = "value";
3. Object.create()
プロトタイプを指定
const proto = {greet() { console.log("Hello"); }};
const obj = Object.create(proto);
obj.greet();
【実用】オブジェクトと配列、Mapの違い
| タイプ | キー | キー項目 | 順序保持 | 用途 |
|---|---|---|---|---|
| Object | string/symbol | 自由 | 一部保持 | 情報の集合 |
| Array | number index | 数字列 | 保持 | 順序ありのデータ |
| Map | 任意 | パーフォーマンス良 | 保持 | キー値の組合 |
【発展】クラスとオブジェクト
ES6以降はclass文法を使ってオブジェクトを統一的にデザインすることも可能です
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, I'm ${this.name}`);
}
}
const u = new User("Mio", 22);
u.greet();
【おわりに】
JavaScriptのオブジェクトは、データを機能的に管理するための強力なツールです。基礎を抽象化して理解すると、ReactやNext.jsといった現代的フレームも根本の思考で理解しやすくなります。
この記事が、オブジェクトの概念を完璧に理解するための一歩となれば幸いです。









