icon
icon

JavaScriptでオブジェクトのプロパティ一覧を取得する方法を現役エンジニアが 解説【初心者向け】

初心者向けにJavaScriptでオブジェクトのプロパティ一覧を取得する方法について現役エンジニアが解説しています。オブジェクトのプロパティとは、連想配列で定義され、key(キー)値とvalue(バリュー)値で構成されるデータです。プロパティ一覧の取得方法としてfor-in文を使う方法を解説します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaScriptでオブジェクトのプロパティ一覧を取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptでオブジェクトのプロパティ一覧を取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

オブジェクトのプロパティとは

オブジェクト型データの構成

以下のような形式で定義されるデータをオブジェクト型データと呼びます。

let personTaro = { name : "Taro" , age : 20 };

この時、nameの部分をプロパティ、Taroの部分を値と呼びます。また、英語でkeyとvalueのセットであると表現されることもあります。

このkeyとvalueのセットをカンマ区切りで複数保持し、一番外側を中括弧 { } で囲んだものがオブジェクト型データです。

オブジェクトのプロパティ

オブジェクト型データのプロパティは、値を取り出すためにわかりやすい文字列で設定されることが多いです。例えば、上記のpersonTaroの例では、nameやageがプロパティであり、人間固有の属性であることがすぐにわかります。

[PR] フロントエンドで副業する学習方法を動画で公開中

オブジェクトのプロパティ一覧を取得する方法

JavaScript標準のfor…in文を使う

オブジェクトがどんなプロパティで構成されているのか、全体を確認したいことがあります。オブジェクト型データが持つ要素であるkeyやvalueに対して繰り返し処理をしたい場合には、for-inを使います。

for…in文の構文

for( key in object ){ // 実際の処理 }

objectの部分には、実際のオブジェクト型データを格納した変数を記述します。

実際に取得してみよう

for…in文でオブジェクトのkeyを全出力する

オブジェクト型データのキー値を全出力するサンプルプログラムを見てみましょう。

JavaScript

let dog = { name: "taro" , age: 3, ability: ["ote", "mate", "yoshi"] };

for(key in dog){
 console.log(key);
}

 

実行結果

name
age
ability

for…in文はオブジェクト型データの扱いに特化したfor文であるため、記述がとても簡単です。

keyの文字列は、itemのような名称でも構いません。for-inはオブジェクトが持つプロパティの数だけループ処理をすることが前提のため、keyの部分に各key-valueセットのkey文字列が自動的に格納される仕組みです。

ちなみに、valueを全出力したい場合は、連想配列の仕組みを利用して以下のように記述します。

console.log( personTaro[key] ); // この記述で値が出力可能

 

まとめ

オブジェクト型データの操作は、業務アプリケーションの開発時に必須となります。複雑なロジックも、オブジェクト型とfor…in文を使ってあっさり処理が完成することもあります。

ぜひ使いこなせるようになっておきましょう。

筆者プロフィール

寺谷文宏 ( Teratani Fumihiro )

Webアプリケーションエンジニアとして数多くのプロジェクトを経験し、フロントエンドからサーバーサイドまで総合的な開発を得意としています。

TechAcademyではフロントエンド、Javaコースを担当。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプJavaScript/jQuery講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。