1.はじめに
JavaScriptでは、複数の情報をひとまとめにして扱うときに「オブジェクト」という仕組みを使います。
たとえば、ある人の情報を表すときに、
const name = "たろう";
const age = 20;
const city = "東京";
のように変数を1つずつ作るよりも、
const person = {
name: "たろう",
age: 20,
city: "東京"
};
とした方がわかりやすく、整理された形で扱えます。
オブジェクトは、名前(キー)と値(バリュー)をセットで保存するデータ形式で、
JavaScriptでは非常に頻繁に使われる基本のひとつです。
今回は、この「オブジェクト」について、基本的な作り方・使い方・便利な操作方法を
初心者向けにわかりやすく解説していきます!
2.オブジェクトの作り方(リテラル形式・new Object)
JavaScriptでオブジェクトを作る方法は主に2つありますが、初心者におすすめなのは「リテラル形式」です。
オブジェクトリテラル(もっともよく使われる書き方)
const user = {
name: "たろう",
age: 20,
city: "東京"
};
console.log(user);
出力結果
{ name: "たろう", age: 20, city: "東京" }
{}
の中に キーと値をセットで書きます。- キーは名前(
name
など)、値は実際のデータ(”たろう” など)
new Object を使う方法(紹介のみ)
const user = new Object();
user.name = "たろう";
user.age = 20;
user.city = "東京";
console.log(user);
出力結果
{ name: "たろう", age: 20, city: "東京" }
new Object()
は書けなくはないけれど、今はリテラル形式を使えばOK。
実務でもリテラルの方が主流です。
次は、オブジェクトの中身を取り出したり、値を追加・変更したりする方法を見ていきましょう!
3.値の取り出し・追加・更新
作ったオブジェクトの中から「値を取り出す」「新しい項目を追加する」「すでにある値を変える」などの操作はとてもよく使われます。
値を取り出す
const user = {
name: "たろう",
age: 20,
city: "東京"
};
console.log(user.name); // "たろう"
console.log(user["age"]); // 20
user.name
のように「ドット(.)」を使って取り出す方法が一般的user["age"]
のように"文字列"
で書く方法もある(キーにスペースがあるときに使う)
値を追加する
user.country = "日本";
console.log(user);
出力結果
{ name: "たろう", age: 20, city: "東京", country: "日本" }
- あとから自由にキーと値を追加できます
値を更新(上書き)する
user.age = 21;
console.log(user.age); // 21
console.log(user);
出力結果
21
{ name: "たろう", age: 21, city: "東京", country: "日本" }
- すでにあるキーに新しい値を代入すれば、中身を更新できます
オブジェクトは、「必要に応じて自由に追加・変更できる便利な入れ物」です。
次は、オブジェクトの中身をループで1つずつ取り出す方法を見てみましょう!
4.ループでオブジェクトを扱う(for…in)
配列と同じように、オブジェクトの中身もループで1つずつ取り出すことができます。
オブジェクトの場合は for...in
文を使います。
for…in文でキーを順番に取り出す
const user = {
name: "たろう",
age: 21,
city: "東京",
country: "日本"
};
for (let key in user) {
console.log(key + ":", user[key]);
}
出力結果
name: たろう
age: 21
city: 東京
country: 日本
key
には"name"
,"age"
などの**プロパティ名(キー)**が順に入りますuser[key]
と書くことで、**対応する値(バリュー)**を取り出せます
for...in
は、オブジェクトのすべての項目を順に処理したいときに便利です。
ただし、配列には使わない方がよいので注意してください(配列には for
や forEach
を使うのが基本です)
5.まとめ
今回は、JavaScriptの「オブジェクト」について、基本的な使い方を学びました。
ポイントまとめ
- オブジェクトは キーと値のセットでデータをまとめられる
{}
を使って簡単に定義できる(リテラル形式)user.name
やuser["name"]
で値を取り出せるfor...in
を使えば中身を1つずつ処理できる- あとから追加・更新・削除も自由にできる
オブジェクトは、JavaScriptで最もよく使われるデータ構造のひとつです。
今後、配列と組み合わせたり、イベントでデータをまとめたりと、活用する場面がどんどん出てきます。
今のうちに、基本的な使い方をしっかりマスターしておきましょう!
コメント