オブジェクトのプロパティを横断する5つの方法、順序ルール

1、...用に
オブジェクト自体を通るために...ループおよび(符号なし)列挙プロパティを継承

2、Object.keys(OBJ)
Object.keysは、オブジェクト自体を含む配列を返します(継承されない)すべて列挙属性(記号を除く属性)キー名

。3、Object.getOwnPropertyNamesは(OBJ)
Object.getOwnPropertyNamesは、(記号を除くことを含む、属性が、属性自体が列挙されていない)すべてのプロパティを含む配列を返します。キー名

4、Object.getOwnPropertySymbols(OBJ)
全てを含む配列は、それ自体馴染み記号キーオブジェクト戻りObject.getOwnPropertySymbols

5、Reflect.ownKeys(OBJ)
Reflect.ownKeysは列挙か否かを、記号または文字列であるにかかわらず、キー名の、すべてのオブジェクト・キー自体を含む配列を返します


5以上、オブジェクトキー名を横切る横断プロパティの同じ順序の規則に従います

-最初の値の昇順に配列された数字キーを、トラバース装置。
-第二に、昇順ですべてのキーを介して文字列が付加された時刻に応じ。
添加時間の昇順に並べ、最後にすべてのキーによるシンボル、

1 Reflect.ownKeys({[シンボル()]:0、B:0、10:0,2:0:0 })
 2  // [ "2"、 "10"、 "B"、 "" 、記号()]

 

おすすめ

転載: www.cnblogs.com/hongding/p/11108734.html