Written by Kasumi

JavaScriptでオブジェクトに指定したプロパティが存在しているかすぐ確認する方法

JavaScriptでオブジェクトに指定したプロパティが存在しているかすぐ確認したい。

本記事ではこのような悩みを解決。

実装例を元に解説します。

hasOwnPropertyメソッドを使ってプロパティの存在を確認

// コントラクター関数
function Intro (message,name) {
  this.message = message;
  this.name = name;
}

// インスタンス化されたオブジェクト
const kasumi = new Intro('hello','kasumi');

// hasOwnPropertyを使って上記オブジェクトにnameプロパティが存在するか確認
const result = kasumi.hasOwnProperty('name');
console.log(result);
// コンソール結果: true

オブジェクトに指定したプロパティが存在するか確認するコード例です。

hasOwnPropertyメソッドを使います。

使い方は以下の通りです。

オブジェクト.hasOwnProperty(‘存在を確認するプロパティ名’);

上記を定義してコンソールに出力。

存在すればtrue、無ければfalseを返します。

prototypeプロパティまで遡って存在を確認する

コンストラクター関数からインスタンス化されたオブジェクトにはprototypeプロパティが自動で保持されます。

prototypeプロパティの存在も確認する事ができます。

in 演算子を使ってprototypeプロパティの存在を確認

// コントラクター関数
function Intro (message,name) {
  this.message = message;
  this.name = name;
}

// インスタンス化されたオブジェクト
const kasumi = new Intro('hello','kasumi');

// hasOwnProperty
const result = kasumi.hasOwnProperty('valueOf');
console.log(result);
// コンソール結果
// false

// in 演算子を使ってprototypeプロパティの存在を確認
console.log('valueOf' in kasumi);
// コンソール結果: true

prototypeプロパティにあるvalueOfの存在を確認。

コンソールにtrueを返してます。

in演算子を使うとprototypeプロパティまで存在を確認する事ができます。

in演算子の使い方は以下の通りです。

console.log(‘存在を確認したいプロパティ’ in オブジェクト);

前章で使ったhasOwnPropertyだとprototypeプロパティまでは検知しません。

in演算子を使う事でprototypeプロパティまで遡って存在を確認する事ができます。

まとめ

JavaScriptでオブジェクトに指定したプロパティが存在しているかすぐ確認する方法について紹介しました。

以上で解説を終わります。

目次

関連記事

JavaScript

JavaScriptでスクロールしたら要素をアニメーション表示する方法【Intersection Observer APIが便利】

2022.09.08
4390
JavaScript

【JavaScript初心者向け】繰り返し処理を使い、配列要素を展開する方法

2022.08.24
644
JavaScript

JavaScriptでコンテンツの内側・外側をHTMLタグで囲う方法

2022.10.26
1689
JavaScript

【JavaScript】数値配列を昇順・降順にソートし、入れ替える方法

2022.06.09
6518