もう一方を使用する必要がありますか?それらをすべて一緒に使っていますか?ありがとう。 obj
は、それが単にプロトタイプから継承されます場合でも、全くprop
という名前のプロパティを持っているかどうかをobjとobj.hasOwnProperty(prop)とobj [prop]のpropの違いは?
7
A
答えて
19
prop in obj
チェック。obj
自体がprop
という名前のプロパティを保持しているかどうかをobj.hasOwnProperty(prop)
チェック。プロトタイプから継承したプロパティは無視されます。obj[prop]
は、prop
プロパティの値を取得します。 1あなたは注を達成しようとしている何のために適切な方
使用:3つのすべてのケースでは、prop
は文字列でなければなりません。
console.log("legs" in dog); // TRUE - due to JS inheritance and since 'in' key looks into inherited prototypes
console.log(dog.hasOwnProperty("legs")); // FALSE
console.log(dog.hasOwnProperty("barks")); //TRUE
プリント
true
false
true
注1つのより多くの事::犬が持っていた場合は、「足になりました、これはそれを意味
var animal = {"legs": 4};
var dog = {"barks" : true};
dog.__proto__ = animal; // JS inheritance (dog inherits from animal)
:ちょうどこのために例を与えるために
+0
obj.propとobj ['との間に違いがあるかどうか教えてください。 prop ']? SLaks –
0
"プロパティは5を言うことができます。(hhmm spooky i know)ので、 'in'演算子(犬の" legs ")は" legs "プロパティw hichは犬オブジェクトで宣言され、動物オブジェクトからの継承された "脚"には宣言されません。例えば:
var animal = {"legs": 4};
var dog1 = {"barks": true};
var dog2 = {"barks": true, "legs": 5};
dog1.__proto__ = animal;
dog2.__proto__ = animal;
console.log(dog1.legs);
console.log(dog2.legs);
console.log("legs" in dog2) // 'in' refer to the un-inherited "legs" of dog2
プリント
4
5
true
関連する問題
- 1. prop( 'disabled'、 'disabled')とprop( 'disabled'、true)の相違点
- 2. .prop()とtwitterブートストラップモーダルダイアログ
- 3. Reactの "Prop"とは何ですか?
- 4. Jquery $(this).prop( 'selectedIndex'、num)not working
- 5. jqueryの.propメソッドが動作しない
- 6. タイプ(obj)とobj .__ class__の違い
- 7. prop( "disabled"、true);およびattR(「無効」「無効」)は、クロムとFirefox
- 8. jQuery asp control .prop( "disabled"、 "")IE 9のチェックボックスを有効にしない
- 9. Object obj = Object()とObject obj()の違いは何ですか?
- 10. jQuery .prop( "disabled"、false)Chromeで動作しない
- 11. ビューの別の部分にアクセス指令propを追加
- 12. JSXでclassNameを文字列+ {prop}に設定するには
- 13. React Router Error:Routeに無効なprop `component`があります
- 14. jQuery .propエラーなしで実行を停止
- 15. Jqueryのpropとattrは異なった振る舞いをしていますか?
- 16. hrefはprop()またはattr()で設定する必要がありますか?
- 17. Objective-C - 日付が等しいpropでオブジェクトを見つける方法?
- 18. ディレクトリに特定のsvn prop(svn:ignore)をコミットした人を見つけ出す
- 19. blakにpropを書くのに助けが必要です:: Sudoku→[Pos](Haskell)
- 20. React-Reduxエラー `Provider`に与えられた` object`型の `prop``子が無効です
- 21. .prop(偽、「確認」)jQueryを使ってラジオボタンをオフにするために、完全
- 22. "Uncaught TypeError:getJSON呼び出しでプロパティ 'prop' of undefinedを設定できません。
- 23. Obj-Cのself.xxxとcalling xxxの違いは何ですか?
- 24. Pythonの__getattribute__とobj .__ dict __ ['x']の違いは?
- 25. @StaticMetamodelとSingularAttributeは<Obj,Obj>とは何ですか?
- 26. Objモデルファイルとアニメーション
- 27. .LIBファイルと.OBJファイルの違いは何ですか? (Visual Studio C++)
- 28. if(obj!== obj)somethig?
- 29. objはMyModelAdminのhas_delete_permission(self、request、obj = obj)では常にNoneです。
- 30. Reflect.ownKeys(obj)とObject.keys(obj)の違いは何ですか?実際の単純なケースでそれらをテストする
[オペレータにMDN(https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special/in)、[MDN hasOwnPropertyを( https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)、[MDNメンバー演算子](https://developer.mozilla.org/ja/JavaScript/Reference/Operators/Member_Operators) – user113716
更新されたリンク:[MDN 'in'演算子](https://developer.mozilla.org/ja/JavaScript/Reference/Operators/in)。 [MDN 'hasOwnProperty'](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Object/HasOwnProperty)。 [MDNメンバー演算子、ブラケット記法](https://developer.mozilla.org/ja/JavaScript/Reference/Operators/Member_Operators#Bracket_notation) –