ES 6 JavaScriptオブジェクト属性を巡回するすべての方法のまとめ

1189 ワード

ES 6には5つの方法があります.オブジェクトの属性を遍歴することができます.
  • for…in
  • for…inサイクルは、オブジェクト自身と継承可能なエニュメレート・属性(Symbol属性を含まない)を巡回します.
     
    
    			
    			var a = {
    				name: 'xutong',
    				age: 7
    			}
    			
    			Object.prototype.sex = 'male'
    			
    			for(let prop in a) {
    				console.log(prop)
    			}
                //    sex  
    			
    		
  • Object.keys(obj)
  • Object.keysは、オブジェクト自体のエニュメレート・属性(Symbol属性を含まない)を含む配列を返します. 
    var a = {
    				name: 'xutong',
    				age: 7
    			}
    			
    			Object.prototype.sex = 'male'
    			
    			console.log(Object.keys(a))
                //['name', 'age']    sex  
  • Object.getOwn PropertyNames(Obj)
  • Object.getOwnPropertyNamesは、オブジェクト自体の属性を含む配列を返します.
  • Object.getOwn PropertySymbors(Obj)
  • Object.getOwn PropertySymbolは、オブジェクト自体のすべてのSymbol属性を含む配列を返します. 
  • Reflect.ownKeys(obj)
  •  Reflect.ownKeysは、オブジェクト自体の属性を含めた配列を返します.属性名がSymbolであろうと、文字列であろうと、列挙可能であろうとなかろうと.
    以上の5つの方法は、オブジェクトの属性を遍歴するときに、同じ属性が順序規則を巡回します.
  • は、まずすべての属性名が数値という属性を巡回し、数字に従って並べ替えます.
  • は次に、すべての属性名が文字列の属性を巡回し、生成時間に従って並べ替えられます.
  • は最後にSymbol値という属性を巡回し、生成時間に従って並べ替えます. 
  • ここで阮一峰先生の総括と共有に感謝します.