摘要:循环遍历对象自身的和继承的可枚举属性不含属性。以上种方法遍历对象的属性时都遵守同样的属性遍历次序规则。其次遍历所有属性名为字符串的属性,按照生成时间排序。
遍历对象
E S 6 一共有 5 种方法可以遍历对象的属性 。
for ... in
for . . . in 循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。
Object.keys(obj)
Object . keys 返回 一个数组,包括对象自身的(不含继承的 )所有可枚举属性(不含 Symbol 属性)
Object . getOwnPropertyNames(obj)
Object . getOwnPropertyNames 返回 一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)
Object.getOwnPropertySymbols(obj)
Object . getOwnPropertySymbols 返回 一个数组,包含对象自身的所有 Symbo l 属性 。
Reflect .ownKeys(obj)
Reflect . ownKeys 返回 一个数组,包含对象自身 的所有属性 , 不管属性名是 Symbol 还 是字符串 , 也不管是否可枚举 。
以上 5 种方法遍历对象的属性时都遵守同样的属性遍历次序规则 。
首先遍历所有属性名为数值的属性 , 按照数字排序 。
其次遍历所有属性名为字符串的属性,按照生成时间排序。
最后遍历所有属性名为 Symbol 值的属性 , 按照生成时间排序。
总结如下:
属性类型 | for ... in | Object.keys(obj) | Object . getOwn-Property-Names(obj) | Object.getOwn-Property-Symbols(obj) | Reflect .ownKeys(obj) |
---|---|---|---|---|---|
原型链 | 是 | 否 | 否 | 否 | 否 |
Symbol | 否 | 否 | 否 | 是 | 是 |
不可枚举 | 否 | 否 | 是 | 是 | 是 |
可枚举 | 是 | 是 | 是 | 是 | 是 |
普通 | 是 | 是 | 是 | 否 | 是 |
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101694.html
摘要:执行函数会返回一个遍历器对象,每一次函数里面的都相当一次遍历器对象的方法,并且可以通过方法传入自定义的来改变函数的行为。函数可以通过配合函数更轻松更优雅的实现异步编程和控制流管理。它和构造函数的不同点类的内部定义的所有方法,都是不可枚举的。 let const的命令 在ES6之前,声明变量只能用var,var方式声明变量其实是很不合理的,准确的说,是因为ES5里面没有块级作用域是很不合...
摘要:文章内容分两部分前半部分为迭代器模式概念后半部分为中迭代器上半部分开始迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。下半部分开始的迭代器迭代器等同于遍历器。执行该函数,会返回一个遍历器对象。 showImg(https://segmentfault.com/img/bVbuyaZ?w=800&h=600); 文章内容分两部分: 前半部分为 迭...
摘要:属性的简洁表示法在中允许直接写入变量和函数,作为对象的属性和方法,使得代码的书写更为简洁。循环遍历对象自身的和继承的可枚举属性不含属性。返回一个数组,包含对象自身的所有属性的键名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 属性的简洁表示法 在ES6中 允许直接写入变量...
摘要:循环遍历对象自身的和继承的可枚举属性不含属性。返回一个数组,包含对象自身的所有属性的键名。目前,只有对象方法的简写法可以让引擎确认,定义的是对象的方法。showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada8456223b0e1); 1. 属性的简洁表示法 在ES6中 允许直接写入变量和函数,作为对象的属性和方法,使得代码的书写更为简洁。...
摘要:函数的属性中,代表形参即希望传入的参数的数量,如等于中情况有所不同函数默认参数指定了默认参数后,函数的将返回没有指定默认参数的参数的个数变量名参数也不会计入属性类数组转成真正数组的几种方式中中可以将类似数组的对象和可遍历的对象转换为真正的 1.函数的length属性 ES5中,length代表形参(即希望传入的参数)的数量,如function display(a,b,c){ / /} ...
阅读 1550·2021-11-25 09:43
阅读 2332·2019-08-30 15:55
阅读 1464·2019-08-30 13:08
阅读 2666·2019-08-29 10:59
阅读 809·2019-08-29 10:54
阅读 1550·2019-08-26 18:26
阅读 2545·2019-08-26 13:44
阅读 2651·2019-08-23 18:36