問題タブ [hasownproperty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2542 参照

javascript - オブジェクトにプロパティがあるかどうかを確認する最良の方法はどれですか

ajax 応答オブジェクトにプロパティがあるかどうかを確認する正しい方法はどれかお聞きしたいと思います。私が見つけたのは、これにアプローチするさまざまな方法があるということです。

例えば:

ただし、確かに他の方法があります。たとえば、次のとおりです。

賛否両論あると思いますので、よろしければ教えてください。

ありがとう

0 投票する
2 に答える
1069 参照

javascript - hasOwnProperty を使用する場合、null または undefined をオブジェクトに変換できません

hasOwnPropertyよりエレガントな方法で使用しようとしています。

私はここにこのコードを持っています。

ただし、省略形として渡そうとするとobj.hasOwnProperty(これは機能するはずです)、期待どおりに動作しません。

パラメータが正しく渡されることを確認するために、次のhasOwnPropertyテスト ケースを設定しました。

abおよびbambooすべてがコンソールに記録されるため、パラメーターが正しく渡されていることがわかります。

の動作が正しく機能しないのはなぜhasOwnPropertyですか?

0 投票する
3 に答える
546 参照

javascript - hasOwnProperty() の代わりに in 演算子を使用する必要がある場合はありますか?

JavaScript では、inオペレーターはオブジェクトが指定されたプロパティーを持っているかどうかをチェックします。ただし、オブジェクト自体のプロパティだけでなく、プロトタイプ チェーンもチェックします。したがって、場合によっては、期待どおりに動作しないことがあります。

何らかの理由で、someArrayMethods(明らかに) いくつかの配列メソッドをキーとして含むオブジェクトがあるとします。

in演算子を使用して、そのオブジェクトにキーとして特定のメソッドがあるかどうかを確認できます。

toStringプロパティをチェックしようとした場合はどうなりますか?

サプライズ!このオブジェクトにはプロトタイプ チェーンにtoStringメソッドがあることが判明したため、オブジェクトに独自のプロパティがなくても、in演算子は返されます。truetoString

そして、ここでhasOwnProperty()救助に来ます!演算子とほぼ同じですがin、1 つの違いがあります。プロトタイプ チェーンをチェックしません。前の例を次のように書き直すことができます。

今では期待どおりに動作します。残念ながら、hasOwnProperty()1 つのケースで失敗することもあります。独自のプロパティを持つオブジェクトがあった場合はどうなるhasOwnPropertyでしょうか? 次の例を参照してください。

この問題を解決するには、 を使用する代わりに、someObject.hasOwnPropertyからそのメソッドを直接参照できますObject.prototype

これは、オブジェクトに何らかのプロパティがあるかどうかを確認するための最も合理的なアプローチのようです。それにもかかわらず、演算子が役立つ場合はありinますか? あるクラスのインスタンスに何らかのメソッドがあるかどうかを確認するために使用できることは知っていますが、この場合、そのオブジェクトがそのクラスのインスタンスであるかどうかを単純に確認する方がよいのではないでしょうか?


補足として、別のオプションはObject.keys()ECMAScript 2016で使用することですArray.prototype.includes():

0 投票する
1 に答える
229 参照

hasownproperty - 配列で hasOwnProperty () を使用する

ここでは、チェックされた値が の場合にのみ必要ですtruetruefalseが追加されました。

0 投票する
2 に答える
1812 参照

javascript - ES6 プロキシを使用して Object.hasOwnProperty をトラップする

ES6 プロキシを使用して、次の一般的なコードをトラップしたいと考えています。

しかし、プロキシのドキュメントを確認した後、主にhasトラップ トラップがinオペレーター用であり、上記のコードでは使用されていないようであり、操作用のトラップがないため、その方法がわかりませんhasOwnProperty

0 投票する
0 に答える
1297 参照

cordova - Ionicは未定義のプロパティ 'hasOwnProperty'を読み取れません

Ionic フレームワークを使用しています。ionic cli の新しいバージョンにアップグレードしたところ、実行中にこのエラーが発生しionic serveました。

ionic serveこの問題を修正して、プロジェクトをまたはionic build再度実行できるようにするにはどうすればよいですか?

0 投票する
4 に答える
1274 参照

javascript - Node.js: hasOwnProperty の呼び出しが global.hasOwnProperty と異なるのはなぜですか?

これは初心者の質問かもしれませんが、説明を見つけたり考えたりすることができません。

Node.js コンソールを開始し、次のことを行います。

それでなんで

しかし

?