メイン画像

JavaScript - オブジェクトにプロパティが存在するか

JavaScript - オブジェクトにプロパティが存在するか


JavaScript でオブジェクトにプロパティが存在するかどうかを確かめるには in 演算子、または hasOwnProperty メソッドを使う。

オブジェクト自身のみを対象とするか、プロトタイプチェーンも対象とするかがそれぞれの違いである。

in 演算子で確認する

オブジェクト自身、またはプロトタイプチェーンにプロパティが存在するかどうかは in 演算子で確認する。

in 演算子は次のように使う。

〈プロパティ名〉 in 〈オブジェクト〉

次のコードはオブジェクト size にプロパティ width、toString が存在するか確認する。

const size = { width: 1920, height: 1080 };

console.log( 'width' in size );
// → true

console.log( 'toString' in size );
// → true(toString はオブジェクトのプロトタイプチェーンに存在する)

hasOwnProperty メソッドで確認する

オブジェクト自身にプロパティが存在するかどうかは hasOwnProperty メソッドで確認する。

in 演算子とは異なり、こちらはプロトタイプチェーンに存在するプロパティは無視される(false が返る)。

hasOwnProperty メソッドは次のように使う。

〈オブジェクト〉.hasOwnProperty(〈プロパティ名〉)

次のコードはオブジェクト size にプロパティ width、toString が存在するか確認する。

const size = { width: 1920, height: 1080 };

console.log( size.hasOwnProperty('width') );
// → true

console.log( size.hasOwnProperty('toString') );
// → false(toString はオブジェクトのプロトタイプチェーンに存在する)

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事