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

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

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

オブジェクトメソッドの使用方法をさらに深く掘り下げ、メソッドが 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 メソッド内での thisfurniture オブジェクトを指し、オブジェクト全体の内部内容を表す。

実用例

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

以下の例では、getColoraddPropertymodifyProperty の各メソッドが 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
copy
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