JavaScript のオブジェクト内のオブジェクト

Tahseen Tauseef 2023年10月12日
  1. JavaScript でネストされたオブジェクトを作成する
  2. Javascript での複数のネスト
JavaScript のオブジェクト内のオブジェクト

このチュートリアル記事では、JavaScript で別のオブジェクト内に複数のオブジェクトを作成する方法について説明します。

JavaScript オブジェクトは、キーと値のペアのコレクションであり、ネストされたオブジェクトは、プロパティとして他のオブジェクトを内部に持つオブジェクトです。ネスティングは、コードにさらに詳細な情報を提供するため、プログラミングで広く使用されている方法です。

各オブジェクトには、オブジェクトの詳細を格納するために使用される独自のプロパティまたはキーがあります。各プロパティまたはキーはコンマで区切ります。

Javascript でオブジェクトとプロパティを作成する方法を見てみましょう。

const layer0 = {
  layer1Item1: 'Layer 1 Item 1 Text',
  layer1Item2: 'Layer 1 Item 2 text',
  layer1Item3: 'Layer 1 Item 3 Text',
  layer1Item4: 'Layer 1 Item 4 text'
}

ここで、ご覧のとおり、const layer0 はオブジェクトの名前です。これが、Javascript でオブジェクトを作成する方法です。ご覧のとおり、オブジェクト内では、layer1Item1layer1Item2layer1Item3、および layer1Item4 がオブジェクトのプロパティです。これらのプロパティは一意であり、オブジェクトを別のオブジェクトと区別する差別化要因である必要があります。

これで、別のオブジェクト内にオブジェクトを作成する場合、内側のオブジェクトは外側のオブジェクトのプロパティとして作成され、この内側のオブジェクトには外側のオブジェクトを使用してのみアクセスできます。

JavaScript でネストされたオブジェクトを作成する

const layer0 = {

  layer1Item1: 'Layer 1 Item 1 Text',
  layer1Item2: {
    layer2Item1: 'Layer 2 Item 2 Text',
    layer2Item2: false

  }
};

この例では、layer1Item2 は別のオブジェクト内の新しいオブジェクトです。ただし、layer1Item1 はオブジェクトのプロパティであり、layer1Item2 はオブジェクトです。新しく作成されたオブジェクトも外部オブジェクト layer0 のプロパティとして作成されるため、どちらも似ています。

ここで、内部オブジェクトにアクセスする場合は、外部オブジェクトの名前を記述し、ドットの後に内部オブジェクトの名前を記述します。

layer0.layer1Item2

また、内部オブジェクト内のプロパティにアクセスする場合、コードは次のようになります。

layer0.layer1Item2.layer2Item1

Javascript での複数のネスト

Javascript でのネストの制限はありません。n 個の階層を作成できます。オブジェクトにアクセスする方法は、前の例で説明したように、内部のオブジェクトにアクセスする場合と同じです。

const layer0 = {

  layer1Item1: 'Layer 1 Item 1 Text',
  layer1Item2: {
    layer2Item1: 'Layer 2 Item 2 Text',
    layer2Item2: false,
    layer2Item3: {layer3Item1: 'Layer 3 Item 2 Text'}
  }
};

この例では、layer0layer1、および layer2 の 3つのオブジェクトが作成されています。layer2 オブジェクトは layer1 の中にあり、layer1layer0 の中にあります。この例には、3つのレイヤーまたは階層があります。現在、layer2layer1 のプロパティとして記述されています。

layer2 のプロパティにアクセスするには、次のコードを記述します。

layer0.layer1Item2.layer2Item1.layer3Item1

次に、次のコードでオブジェクトに新しいプロパティを追加します。

let layer0 = {
  layer1Item1: 'Layer 1 Item 1 Text',
  layer1Item2: 'Layer 1 Item 2 text',
  layer1Item3: 'Layer 1 Item 3 Text',
  layer1Item4: 'Layer 1 Item 4 text'
}

オブジェクト名とオブジェクトプロパティにドットを付けて、次のような値を割り当てるだけです。

layer0.layer1Item5 = 'New Item created';

これで、結果のオブジェクトは次のようになります。

{
  layer1Item1: 'Layer 1 Item 1 Text', layer1Item2: 'Layer 1 Item 2 text',
      layer1Item3: 'Layer 1 Item 3 Text', layer1Item4: 'Layer 1 Item 4 text',
      layer1Item5: 'New Item Created'
}

オブジェクトからプロパティを削除する場合は、簡単に理解できます。削除するドットで区切って、object プロパティに付加されたオブジェクト名と一緒に delete キーワードを使用します。次の例を見てください。

次のオブジェクトがあるとします。

let layer0 = {
  layer1Item1: 'Layer 1 Item 1 Text',
  layer1Item2: 'Layer 1 Item 2 text',
  layer1Item3: 'Layer 1 Item 3 Text',
  layer1Item4: 'Layer 1 Item 4 text'
}

そして、layer1Item4 プロパティを削除します。次のコードを記述します。

delete layer0.layer1Item4;

これで、オブジェクトは次のようになります。

{
  layer1Item1: 'Layer 1 Item 1 Text', layer1Item2: 'Layer 1 Item 2 text',
      layer1Item3: 'Layer 1 Item 3 Text',
}

関連記事 - JavaScript Object