このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【JavaScript入門】オブジェクトと配列

オブジェクトと配列
JavaScript では、多くのデータをまとめて扱うための仕組みとして「オブジェクト」と「配列」が利用されます。これまでのように1つの変数に1つの値だけを持たせるのではなく、複数の値をひとまとまりで管理できるため、データ量が増えても扱いやすいのが特徴です。ここでは、オブジェクトと配列の概要を見ながら、どのように使うかを紹介していきます。

1.大量のデータを扱うデータ型
JavaScript において、大量のデータをまとめて処理するには以下の2つの方法があります。
- オブジェクト: 名前(キー)と値のペアを持つ、連想配列的なデータ構造
- 配列: 要素を連続的に並べ、0 から始まる添え字(インデックス)で管理するデータ構造
2.オブジェクト
オブジェクトは、{}
(波括弧)で複数のプロパティ(キーと値のセット)を定義したものです。それぞれのプロパティは「名前: 値」という形で書き、複数ある場合はカンマ(,
)で区切ります。
2.1. オブジェクトリテラルの書き方
// 1行で書く例
let menu = {coffee: '300円', cake: '500円', 'juice-set': '750円'};
// 改行を入れて複数行で書く例
let userProfile = {
name: '山田太郎',
age: 28,
address: '東京'
};
プロパティ名には日本語やハイフンを含められますが、その場合は ' '
または "
で囲む必要があります(例:'cake-set': '800円'
)。
2.2. オブジェクトの入れ子構造
オブジェクトの中にさらに別のオブジェクトや配列を入れて、複雑なデータ構造を作れます。
let store = {
name: 'パティスリー花',
menu: {
shortCake: { name: 'ショートケーキ', price: 450 },
chocolate: { name: 'チョコケーキ', price: 500 }
}
};
2.3. 変数名をそのままプロパティに使う
オブジェクトリテラルでは、プロパティ名と変数名が同じ場合、次のように省略した書き方ができます。
const itemName = '紅茶';
const itemPrice = 350;
// 通常の書き方
// const drink = { itemName: itemName, itemPrice: itemPrice };
// 短い書き方
const drink = { itemName, itemPrice };
console.log(drink);
// => { itemName: "紅茶", itemPrice: 350 }
3.配列
配列は、データを順序付きのリストとして管理します。インデックス(添え字)は0から始まり、要素数を表す length
プロパティを持ちます。
3.1. 配列の作り方
let fruits = ['りんご', 'バナナ', 'みかん'];
console.log(fruits[0]); // "りんご"
console.log(fruits.length); // 3
3.2. 配列の入れ子構造
配列の要素として、別の配列やオブジェクトを入れることも可能です。
let items = [
{ name: 'クッキー', price: 120 },
{ name: 'シュークリーム', price: 180 }
];
console.log(items[1].name); // "シュークリーム"
4.サンプルコード(HTML + JavaScript)
以下の例を「myObjectsArrays.html」というファイル名で保存し、ブラウザで開き、開発者ツール(コンソール)を確認してください。
【myObjectsArrays.html】
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>myObjectsArrays.html</title>
</head>
<body>
<h1>オブジェクトと配列のサンプル</h1>
<p>開発者ツールのコンソールを開き、実行結果を確認してください。</p>
<script>
// 1. オブジェクトリテラル
let menu = {
coffee: '350円',
sandwich: '500円',
'lunch-set': '900円'
};
console.log('メニュー:', menu);
// 2. オブジェクトの入れ子
let storeInfo = {
name: 'カフェもみじ',
location: '京都',
menu: {
coffee: 350,
cake: 420
}
};
console.log('お店情報:', storeInfo);
// 3. プロパティ名を省略する方法
const itemName = '豆大福';
const itemPrice = 150;
let wagashi = { itemName, itemPrice };
console.log('和菓子:', wagashi);
// 4. 配列
let drinks = ['ミルクティー', 'オレンジジュース', 'コーヒー'];
console.log('配列の要素:', drinks[0], drinks[1], drinks[2]);
console.log('配列の要素数:', drinks.length);
// 5. 配列の入れ子
let dessertSet = [
{ name: 'プリン', price: 300 },
{ name: 'シフォンケーキ', price: 450 }
];
console.log('デザートセット:', dessertSet);
console.log('2つ目のスイーツの名前:', dessertSet[1].name);
</script>
</body>
</html>
実行結果

デバッグコンソールの出力
メニュー: {coffee: '350円', sandwich: '500円', lunch-set: '900円'}
お店情報: {name: 'カフェもみじ', location: '京都', menu: {…}}
和菓子: {itemName: '豆大福', itemPrice: 150}
配列の要素: ミルクティー オレンジジュース コーヒー
配列の要素数: 3
デザートセット: (2) [{…}, {…}]
2つ目のスイーツの名前: シフォンケーキ
まとめ
- オブジェクト: 名前(キー)と値のペアを好きなだけ持つことができ、データを柔軟に管理する仕組み。
- 配列: 0番目・1番目・2番目…のように連番で要素を並べ、
length
プロパティで要素数を管理。 - オブジェクトと配列はいずれも入れ子(ネスト)構造を作れるため、複雑なデータでも一括管理できる。
こうした構造を理解しておくと、大量のデータを整理・操作するときに非常に役立ちます。データをまとめて扱うコツをつかめば、より効率よくアプリケーションを開発できるようになるでしょう。