オブジェクトの hasOwnProperty() メソッドは、オブジェクトに特定の独自の (継承されていない) プロパティが含まれているかどうかを示すブール値を返します。 属性が存在するかどうかを判断するvar o = 新しいオブジェクト(); o.prop = '存在する'; 関数changeO() { o.newprop = o.prop; o.prop を削除します。 } o.hasOwnProperty('prop'); // 真 変更O(); o.hasOwnProperty('prop'); // 偽 自身の属性と継承された属性を決定する関数foo(){ this.name = 'foo' this.sayHi = 関数 () { console.log('こんにちは') } } foo.prototype.sayGoodBy = 関数 () { console.log('さよならを言う') } myPro = new foo() とする console.log(myPro.name) // foo console.log(myPro.hasOwnProperty('name')) // true console.log(myPro.hasOwnProperty('toString')) // false console.log(myPro.hasOwnProperty('hasOwnProperty')) // 失敗 console.log(myPro.hasOwnProperty('sayHi')) // true console.log(myPro.hasOwnProperty('sayGoodBy')) // false console.log('sayGoodBy' in myPro) // true オブジェクトのすべてのプロパティを反復処理するオープンソース プロジェクトを見ると、次のようなソース コードをよく見かけます。 for...in ループはオブジェクトのすべてのプロパティを列挙し、hasOwnProperty() メソッドを使用して継承されたプロパティを無視します。 var buz = { 霧: 'スタック' }; for (変数名 in buz) { if (buz.hasOwnProperty(名前)) { alert("これは間違いなくfog(" + name + ")です。値: " + buz[name]); } それ以外 { alert(name); // toString または他の何か } } プロパティ名としてhasOwnPropertyに注意してくださいJavaScript は hasOwnProperty プロパティ名を保護しないので、このプロパティ名を含むオブジェクトが存在する可能性がある場合は、正しい結果を得るために拡張された hasOwnProperty メソッドを使用する必要があります。 var foo = { 独自のプロパティを持つ: 関数() { false を返します。 }, バー: 「ここにドラゴンがいる」 }; foo.hasOwnProperty('bar'); // 常に false を返します // これが気になる場合は、プロトタイプチェーンで実際のhasOwnPropertyメソッドを直接使用できます // 別のオブジェクトの`hasOwnProperty`を使用して呼び出します ({}).hasOwnProperty.call(foo, 'bar'); // 真 // オブジェクトプロトタイプの hasOwnProperty プロパティを使用することもできます。Object.prototype.hasOwnProperty.call(foo, 'bar'); // true 参考リンク js プロパティ オブジェクトの hasOwnProperty メソッドの使用に関するこの記事はこれで終わりです。より関連性の高い js hasOwnProperty コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Ubuntu で XFS ファイルシステム用の LVM を作成する方法
>>: Mysql マスタースレーブ同期構成の実践の詳細な説明
1. 問題の説明MYSQL を起動すると、図に示すように、「ERROR 2003 (HY000): ...
<html> <ヘッド> <meta http-equiv="...
デフォルトのテンプレートメソッドはvue2に似ており、コンポーネント内のセットアップ関数を使用します...
スティッキーフッターレイアウトとは何ですか?一般的な Web ページのレイアウトは、通常、ヘッダー部...
ボックス モデルは、要素ボックスの幅と高さ、パディング、境界線、余白のサイズを指定します。境界線の内...
目次1. インデックスの基本1.1 はじめに1.2 インデックスの仕組み1.3 インデックスの種類1...
目次1. ループオブジェクト内の値2. ループオブジェクト3. キーと値のループ1. ループオブジェ...
背景最近、SQL 文を書くときに、IN と Exists のどちらを選択するか迷ったので、両方の方法...
本来の意図このツールを作った理由は、コンピューターを使用しているときにいつでも毎日の仕事や生活を記録...
Webページを作るときに、区切り線hrを使うことがありますが、IE6やIE7で表示するのは非常に苦痛...
目次defineComponent オーバーロード関数開発実務defineComponent 関数は...
Yum経由でJenkinsをインストールする1. インストール # yum ソースをインポート wg...
独自のWebプロジェクトをtomcatディレクトリの下のwebappsディレクトリに配置します。 R...
1. まず、Linux サーバー上で公開鍵ファイルと秘密鍵ファイルを生成します。デフォルトの保存ディ...
# Windows および Linux 上の Redis のインストール デーモン構成Redis の...