【Node】オブジェクトとは?オブジェクトの初期化から取り出し方

Node

node.js
ミニマリスト_カミ

kamiです。
TwitterYoutubeもやってます。

みなさんNodeのオブジェクトの知識はありますか?
この記事はオブジェクトについて聞いたことはあるけど、オブジェクトについてよく分かってない方や、
オブジェクトの取り出しについての全く知識がない方へオブジェクトについての紹介です。

この記事でわかること

この記事を最後まで読めば「Nodeのオブジェクトとは」から「オブジェクトの取り出し」までの理解が深まりますので、最後まで読んで「Nodeのオブジェクト」についてマスターしましょう。

それでは順に見ていきましょう。

オブジェクトの初期化から取り出し方の全体の流れ

icon

オブジェクトの初期化から取り出し方の全体の流れを行うには次の流れになります。

  • オブジェクトの初期化
  • foreachでオブジェクトを取り出す
  • Object.keysとforEachでオブジェクトを取り出す

オブジェクトとは?

オブジェクトとは?

JavaScriptやNode.jsのオブジェクトとは?プロパティの塊、集合体です。
オブジェクトにはキーと値のセット管理することができます。

const object = {
    'key': 'value'
};
const object = {
    key: 'value'
};

keyの「""(ダブルクォーテーションや)や"シングルクォーテーション(")」は省略して記述することができます。

例外で省略できないパターンもあります。

例外パターン

const object = {
    // キー: 値
    node_keey: 'value'
};

「_」「-」などのプロパティ名は変数名として利用できないため、エラーになります。

スポンサードサーチ

オブジェクトの初期化

JavaScript・Nodeではオブジェクトをnewで生成して、その後にプロパティを定義していきます。

const object = new Object()  // オブジェクトの生成
object.name = 'kami'      // プロパティの定義①
object['study'] = 'node.js'  // プロパティの定義②

オブジェクトの取得

console.log(object)

{ name: 'kami' , study: 'node.js' }
icon

オブジェクトままconsoleするとオブジェクト形で取得できます。

オブジェクトにプロパティを追加する

プロパティの追加は主に二つあります。

ドットを使ってプロパティを追加

ドットを使ってプロパティを追加

// オブジェクト定義
let object = {
 'key_1': 'object_1',
 'key_2': 'object_2',
}

// プロパティのキーを変数定義
let key_3 = 'key_3';

// プロパティのキーにバリューを追加
object.key_3 = 'object_3';

// オブジェクトを全て取り出す
console.log(object);
// {'key_1': 'object_1', 'key_2': 'object_2', 'key_3': 'object_3'}

オブジェクト名、ドット、プロパティ名の順で追加することができます。

ブラケットを使ってプロパティを追加

ブラケットを使ってプロパティを追加

// オブジェクト定義
let object = {
 'key_1': 'object_1',
 'key_2': 'object_2',
}

// プロパティのキーを変数定義
let key_3 = 'key_3';

// プロパティのキーにバリューを追加
object['key_3'] = 'object_3';

// オブジェクトを全て取り出す
console.log(object);
// {'key_1': 'object_1', 'key_2': 'object_2', 'key_3': 'object_3'}

オブジェクト名、ブラケット、キー名、プロパティ名の順で追加することができます。

スポンサードサーチ

オブジェクトの取り出し方

オブジェクトの取り出し方

// オブジェクト定義
let object = {
 'key_1': 'object_1',
 'key_2': 'object_2',
}

// key_1のオブジェクトを取り出す
console.log(object.key_1);
// object_1

// key_2のオブジェクトを取り出す
console.log(object.key_2);
// object_2

// key_3のオブジェクトを取り出す
console.log(object.key_3);
// object_3

オブジェクト名.keyでvalueを取得できます。

実務的なオブジェクトの取り出し方

実務的なオブジェクトの取り出し方

icon

実務的なオブジェクトになると配列の中にオブジェクトがあります。

連想配列の中から値を取り出してみましょう。

  const object = [
    {
      no: 1,
      name: 'object_1',
    },
    {
      no: 2,
      name: 'object_2',
    },
    {
      no: 3,
      name: 'object_3',
    },
    {
      no: 4,
      name: 'object_4',
    },
    {
      no: 5,
      name: 'object_5',
    },
  ];

オブジェクトごと取り出す

連想配列のindexは0から始まります。
indexを指定することで取り出せます。

// 結果
console.log(object[0]; //  { no: 1, name: 'object_1' }

value取り出す

indexとkeyを指定することで取り出せます。

// 結果
console.log(object[0].name); // object_1

スポンサードサーチ

forEachで連想配列を取り出す

forEachで連想配列を取り出す

object.forEach( function( value ) {
    console.log( value.name );
});

// object_1
// object_2
// object_3
// object_4
// object_5

forEachでループで連想配列を回したい場合は、このように記述して取り出すことができます。

Object.keysとforEachで連想配列を取り出す

Object.keysとforEachで連想配列からkey 取り出す

Object.keys(object).forEach(function(key) {
  console.log(key);
})

// no
// name
// no
// name
以下省略

Object.keysの引数にオブジェクトを渡して、forEachでループを回すとkeyを取得できます。

Object.keysとforEachで連想配列からvalue 取り出す

Object.keys(object).forEach(function(key) {
    let value = this[key]; // thisはobject指しています
    console.log(value);
});

// 1
// object_1
// 2
// object_2
// 3
// object_3
以下省略

valueはオブジェクトのkeyで取得することができます。

console.log(object[key]);

this[key]はオブジェクトを指しているので、object[key]と同じ意味です。

まとめ

  • オブジェクトとは連想配列のことです
  • オブジェクトはkeyとvalueが存在する
  • forEachでループを回して任意のkeyやvalueを取得できる

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

Twitterからの連絡だと確実ですよ。

オンラインスクールやプログラミングスクールといったプログラミングを学べる方法もあるので、そちらもぜひ活用してもいいと思います。

Web開発で分からない時

オンライン完結型スクール DMM WEBCAMP PRO

アプリ開発で分からない時

プログラミング×稼げる副業スキルはテックキャンプ

プログラミングについて分からない時

【コエテコ様限定】※ご案内を受けた以外のメディアが使用しても成果は承認されません。
ミニマリスト_カミ

僕への個人でもメンターでも、スクールでもお好きな方を活用ください。

NodeNode.js

Posted by kami