对象枚举属性
本文最后更新于:20 分钟前
对象枚举属性
for/in
循环对指定对象的每个可枚举(自有或继承)属性都会运行一次循环体,将属性的名字赋给循环变量。对象继承的内置方法是不可枚举的,但你的代码添加给对象的属性默认是可枚举的。例如:
1 |
|
为防止通过for/in枚举继承的属性,可以在循环体内添加一个显式测试
1 |
|
除了使用for/in
循环,有时候可以先获取对象所有属性名的数组,然后再通过for/of
循环遍历该数组。有4个函数可以用来取得属性名数组:
Object.keys()
返回对象可枚举自有属性名的数组。不包含不可枚举属性、继承属性或名字是符号的属性Object.getOwnPropertyNames()
与Object.keys()
类似,但也会返回不可枚举自有属性名的数组,只要它们的名字是字符串。Object.getOwnPropertySymbols()
返回名字是符号的自有属性,无论是否可枚举。Reflect.ownKeys()
返回所有属性名,包括可枚举和不可枚举属性,以及字符串属性和符号属性
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!