【JavaScript】オブジェクトが特定のプロパティを持っているか確認する方法3選

hasOwnProperty()

存在すればtrue、しなければfalseを返します。継承されたプロパティは含めません。

loading...

in 演算子

存在すればtrue、しなければfalseを返します。継承されたプロパティも含めチェックします。

loading...

undefinedで比較

未定義のプロパティを参照しようとするとundefinedが返されるのでundefinedで比較することにより存在をチェックすることができます。

loading...

まとめ

定義したプロパティのみチェックしたい場合はhasOwnProperty()またはundefinedで比較、継承されたプロパティも含めてチェックしたい場合はin演算子を使うと良いでしょう。

参考