プロパティObject.getOwnPropertyNamesオブジェクト()Object.keysのため...で

1.Object.getOwnPropertyNames()この方法は、アレイの(含まないが、属性名シンボル値として属性を列挙していない)オブジェクト属性自体で指定されたすべてのプロパティ名を返します。

Object.getOwnPropertyNames(OBJ

参数obj是オブジェクト自体ではなく列挙列挙属性名が返されます。

戻り値は次のとおりです。文字列配列に対応する特定の属性にオブジェクト自身を見つけます。

例:

    列挙:偽   } }); my_obj.foo = 1。























console.log(Object.getOwnPropertyNames(my_obj).sort())。// [ "foo" という、 "からgetfoo"]

前記Object.keys() 方法は、指定されたオブジェクト自体のアレイは、アレイの属性を列挙することができ、使用される属性名の順序を返し たときにループオブジェクトを介し配列と一致を返します。 for...in

Object.keys(obj)

パラメータobjがある:オブジェクトの独自のプロパティの列挙に戻ります。

戻り値は、すべての列挙属性の指定されたオブジェクトの配列を表す文字列です。

例:

VaRのARR = [ 'A'、 'B'、 'C']。
console.log(Object.keys(ARR))。//コンソール:[ '0'、 '1'、 '2']

//配列オブジェクトクラス
VAR OBJ = {0: '' ,. 1: 'B'、2 'C'};
はconsole.log(Object.keys(OBJ)); //コンソール:[ '0'、 ' 1 '' 2「]

VAR anObj = {100: 'A'、2 'B'、7 'C'}。
console.log(Object.keys(anObj))。//コンソール:[ '2'、 '7'、 '100']

//ない列挙属性
VAR =このmyobj Object.create({}、{
  からgetfooは:{
    値:関数(){this.fooを返す;}
  }
});
myObj.foo = 1;
はconsole.log(Object.keys(このmyobj)); //コンソール:[ 'FOO']

注:引数のこのメソッドは、オブジェクト(ただし、生の値)でない場合ES5で、それは例外TypeError。ES2015では、非オブジェクトのパラメータは、オブジェクトにキャストします。

 

3. for...in独自のオブジェクトの任意の順序トラバーサルでは、継承された列挙非記号のプロパティを。それぞれ異なる属性の場合、ステートメントが実行されます。

(のための変数オブジェクト){ ... }

変数パラメータ:各繰り返しで、変数名に異なる属性を割り当てます。

パラメータは、オブジェクト:そのプロパティを列挙する繰り返しオブジェクトです。

例:

 

VAR OBJ = {1、B:2、C 3}。
(OBJにおけるVAR支柱){ために
  はconsole.log( "OBJ" +小道具+ "=" + OBJ [プロパ])。
}
//出力:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

 


次の関数は、hasOwnPropertyを()の使用を示しています。継承されたプロパティが表示されません。
VAR三角形= {1、 B:2、C 3}。

 

機能ColoredTriangle(){
  this.color = '赤'。
}

 

ColoredTriangle.prototype =三角形。

 

VAR OBJ =新しいColoredTriangle();

 

用(OBJにおけるVAR支柱){
  (obj.hasOwnProperty(プロプ))なら、{
    にconsole.log( `OBJ $は{= $ {OBJ [プロパ]}`}プロパ。)。
  }
}

 

//出力:
// "obj.color =赤"

 

ヒント:のための...では、インデックスの順序が重要である配列、反復処理するために使用すべきではない
反復の順番は必ずしも順番に、実行環境に依存しているので、要素の配列トラバーサルへのアクセスために。反復配列順序が重要である場合したがって、整数ループインデックスの(又は(Array.prototype.forEachを使用)、または...のforループ)を行うことが好ましいです。

 

おすすめ

転載: www.cnblogs.com/caozhuzi/p/10926506.html