| 
					阅读:11081回复:1
				 ES6~ 如何遍历JavaScript中对象属性
					在2016年6月发布的ECMAScript 2016的同一时期,令JavaScript开发人员开心的是知道另一组很棒的提案已经达到了第4阶段(完成)。著作权归作者所有。
 来看一下这组特性的清单: 
 新提议包括在2017年要发布的ESMAScript2017标准中,可能会在2017年夏天发布。请注意,这个功能列表可能会一直增长。太好了! 当然,你不必等到ES2017发布,或者直到供应商(浏览器)实现了新功能!Babel已经包含了这些已完成的提案中的大部分特性。 本文主要讨论如何改进对象属性的迭代: 
 让我们一探究竟吧。 自己的和可枚举的属性 正如你可能已经知道的那样,Object.keys()只访问对象本身和可枚举的属性。这是合理的,因为大多数时候只有这些属性需要评估。 让我们看一个对象拥有和继承属性的例子。Object.keys()只返回自己的属性键(key): let simpleColors = { colorA: 'white', colorB: 'black' };
let natureColors = { colorC: 'green', colorD: 'yellow' }; 
Object.setPrototypeOf(natureColors, simpleColors); 
      // => {colorC: "green", colorD: "yellow"} 
Object.keys(natureColors);   // => ['colorC', 'colorD'] 
natureColors['colorA'];   // => 'white' 
natureColors['colorB'];  // => 'black'  Object.keys(natureColors)返回natureColors对象自身和可枚举的属性键:['colorC', 'colorD']。natureColors包含从simpleColors原型对象继承的属性。然而,Object.keys()函数会跳过它们。 | |
| 沙发#发布于:2018-08-20 18:45 
					Object.values()和Object.entries()访问对象的属性采用相同的标准:拥有和可枚举属性。让我们来看看:
 let simpleColors = { colorA: 'white', colorB: 'black' };
 let natureColors = { colorC: 'green', colorD: 'yellow' }; 
Object.values(natureColors); // => ['green', 'yellow'] 
Object.entries(natureColors); // => [ ['colorC', 'green'], ['colorD', 'yellow'] ]  | |
 
							
 
				