Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ hasOwnProperty() を使用してオブジェクトのプロパティを確認する | 高度なオブジェクト操作テクニック
JavaScriptデータ構造

bookhasOwnProperty() を使用してオブジェクトのプロパティを確認する

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

for...inループを使用してオブジェクトのプロパティを反復処理する際には、オブジェクト自身のプロパティプロトタイプから継承されたプロパティを区別することが重要です。

JavaScriptでは、オブジェクトに直接定義されていないプロパティも反復処理中に現れる場合があります。これは、オブジェクトが他のオブジェクトからプロパティを継承できるためです。

hasOwnProperty()メソッドを使用することで、オブジェクト自身に直接属するプロパティのみを扱うことができます。

hasOwnProperty()の理解

hasOwnProperty()メソッドは、プロパティがオブジェクト自身に直接存在するかどうかを確認するための組み込みJavaScriptメソッドです。戻り値はBoolean値(trueまたはfalse)です。

構文

object.hasOwnProperty(property)
  • object: チェックしたいオブジェクト
  • property: 検索するプロパティ名

hasOwnProperty()が役立つ理由

次の例を考えてみましょう:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

category は exercise に直接定義されていませんが、ループ内で表示されます。このため、追加のチェックが必要です。

hasOwnProperty()for...in の併用

for...inhasOwnProperty() を組み合わせることで、オブジェクト自身のプロパティのみを安全に反復処理できます。

12345678910111213
const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
copy

このチェックにより、継承されたプロパティが無視され、コードの予測性と安全性が向上します。

1. hasOwnProperty() メソッドの主な目的は何ですか?

2. hasOwnProperty() メソッドはどのような型の値を返しますか?

3. hasOwnProperty() ループで for...in を使用する際、なぜ自身のプロパティを確認することが重要ですか?

4. 以下のコードで、video オブジェクトのプロパティを反復処理したときにログに出力されるものは何ですか?

question mark

hasOwnProperty() メソッドの主な目的は何ですか?

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

question mark

hasOwnProperty() メソッドはどのような型の値を返しますか?

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

question mark

hasOwnProperty() ループで for...in を使用する際、なぜ自身のプロパティを確認することが重要ですか?

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

question mark

以下のコードで、video オブジェクトのプロパティを反復処理したときにログに出力されるものは何ですか?

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

すべて明確でしたか?

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

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

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 3.  3
some-alt