9.对象的扩展
Posted 消逝的绵羔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.对象的扩展相关的知识,希望对你有一定的参考价值。
1.属性的简介表示法
2.属性名表达式
3.方法的name属性
4.Object.is()
5.Object.assign()
6.属性的可枚举性
7.属性的遍历
ES6一共有5种方法可以遍历对象的属性。
(1)for...in
for...in
循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)。
(2)Object.keys(obj)
Object.keys
返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)。
(3)Object.getOwnPropertyNames(obj)
Object.getOwnPropertyNames
返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)。
(4)Object.getOwnPropertySymbols(obj)
Object.getOwnPropertySymbols
返回一个数组,包含对象自身的所有Symbol属性。
(5)Reflect.ownKeys(obj)
Reflect.ownKeys
返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举。
以上的5种方法遍历对象的属性,都遵守同样的属性遍历的次序规则。
- 首先遍历所有属性名为数值的属性,按照数字排序。
- 其次遍历所有属性名为字符串的属性,按照生成时间排序。
- 最后遍历所有属性名为Symbol值的属性,按照生成时间排序。
Reflect.ownKeys({ [Symbol()]:0, b:0, 10:0, 2:0, a:0 }) // [‘2‘, ‘10‘, ‘b‘, ‘a‘, Symbol()]
上面代码中,Reflect.ownKeys
方法返回一个数组,包含了参数对象的所有属性。这个数组的属性次序是这样的,首先是数值属性2
和10
,其次是字符串属性b
和a
,最后是Symbol属性。
8._proto_属性,Object.setPrototypeOf(),Object.getPrototypeOf()
9.Object.keys(),object.values(),Object.entries()
10.对象的扩展运算符
11.Object.getOwnPropertyDescriptors()
12.Null传导运算符
以上是关于9.对象的扩展的主要内容,如果未能解决你的问题,请参考以下文章
getSupportFragmentManager() 在活动扩展片段中未定义
;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk