JavaScriptには、オブジェクトOにプロパティxがあるかどうかを確認する4つの方法があります。
1。 "x" in o 。 IN演算子を使用して、オブジェクトoにxがあるかどうかを確認できます。 Xは、オブジェクト自体(独自のプロパティ)またはプロトタイプオブジェクトから継承されることができます。 Xは、列挙可能なプロパティまたは非変更不可能なプロパティにすることができます。
2.ox. OXステートメントにアクセスし、結果が未定義かどうかを判断することにより、Xが存在するかどうかを確認できます。そのアクションの範囲は、in operatorの範囲と同じです。 in operatorとは異なり、プロパティxの値がオブジェクトoで明示的に宣言されている場合、o操作結果の「x」が真であり、OXの結果は未定義になります。
3.HasownProperty() 。 O.HasownProperty( "x")操作は、Oオブジェクト自体にxプロパティがあるかどうかを判断するために使用されます。プロトタイプオブジェクトから継承されたプロパティは考慮されません。 hasownProperty()操作は、列挙性プロパティと非承認不可能なプロパティの両方をチェックします。
4.PropertyisEnumerable() 。 o.propertyisenumerable( "x")操作は、hasownProperty()のサブセットであるOオブジェクト自体が所有する列挙性プロパティをチェックします。
上記の情報に基づいて、次の図を次のように要約します。