Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ メソッド内でのプロパティの使用 | JavaScriptオブジェクトの基礎
JavaScriptデータ構造

メソッド内でのプロパティの使用

メニューを表示するにはスワイプしてください

オブジェクトメソッドの使用方法をさらに深く掘り下げ、メソッドが this キーワードを使ってオブジェクトのプロパティへアクセスする方法を解説。

メソッド内でのオブジェクトプロパティへのアクセス

メソッド内では、this を利用してオブジェクトのプロパティを読み書き可能。

const furniture = {
  type: "wardrobe",
  manufacturer: "Belgium",
  color: "wenge magic",
  getInfo() {
    console.log(this);
  },
};

// Method call
furniture.getInfo(); // Output: {type: 'wardrobe', manufacturer: 'Belgium', color: 'wenge magic', getInfo: ƒ}

getInfo メソッド内での this は furniture オブジェクトを指し、オブジェクト全体の内部内容を表す。

実用例

メソッド内では、this を通じてオブジェクトのプロパティにアクセスし、通常通りドット記法で特定のプロパティを参照できる。

以下の例では、getColor、addProperty、modifyProperty の各メソッドが this を使って furniture のプロパティにアクセスし、さまざまな操作を行う。

  • getColor は、this を用いてオブジェクトのプロパティを参照し、ワードローブの色をコンソールに出力する;
  • addProperty は、furniture オブジェクトに新しいプロパティを追加する。2つのパラメータ、propertyName(新しいプロパティ名)と propertyValue(新しいプロパティに割り当てる値)を受け取る;
  • modifyProperty は、furniture オブジェクト内の既存プロパティの値を変更する。2つのパラメータ、propertyName(変更するプロパティ名)と propertyValue(新しい値)を受け取る。
12345678910111213141516171819202122232425262728
const furniture = { type: "wardrobe", manufacturer: "Belgium", color: "wenge magic", getColor() { console.log(this.color); }, addProperty(propertyName, propertyValue) { this[propertyName] = propertyValue; }, modifyProperty(propertyName, propertyValue) { this[propertyName] = propertyValue; }, }; // Access the `color` property of the `furniture` and log it to the console. furniture.getColor(); // Output: wenge magic // Add a new property to the `furniture` object using the `addProperty` method. furniture.addProperty("material", "wood"); console.log(furniture.material); // Output: wood // Modify an existing property using the `modifyProperty` method. furniture.modifyProperty("color", "oak"); console.log(furniture.color); // Output: oak
Note
注意

thisは、メソッドが再利用されたり他の場所にコピーされた場合でも、常に正しいオブジェクトを参照することを保証。

1. オブジェクトのメソッド内で使用されるthisキーワードは何を参照しますか?

2. 以下の例で、getFeastPriceオブジェクトのmenuメソッドの役割は何ですか?

3. 以下の例で、menu を使って this オブジェクトの「cold appetizer」プロパティにアクセスする方法はどれですか?

question mark

オブジェクトのメソッド内で使用されるthisキーワードは何を参照しますか?

正しい答えを選んでください

question mark

以下の例で、getFeastPriceオブジェクトのmenuメソッドの役割は何ですか?

正しい答えを選んでください

question mark

以下の例で、menu を使って this オブジェクトの「cold appetizer」プロパティにアクセスする方法はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2. 章 10

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2. 章 10
some-alt