JavaScript的所有数据都可以被视为对象,对象其实是一种无序的数据集合,由很多个“键值对”(key-value)构成, 生成对象的方法有下面三种方式。
扩展运算符: 扩展运算符(…)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。
枚举属性for in: 循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性),自身属性或者来自原型对象上的继承属性都可以被枚举出来。
Object.assign(): 将所有可枚举属性的值从一个或多个源对象分配到目标对象并返回目标对象,常用来合并对象。 Object.assign(target, …sources)。 参数解析: target—>目标对象,source—>源对象,返回值是target,即目标对象。
Object.keys(obj): 返回obj对象所有的可枚举的自有属性的名称组成的数组,不包含继承属性。
Object.values(): 返回一个给定对象自身的所有可枚举属性值的数组
Object.entries(): 返回一个给定对象自身可枚举属性的键值对组成的数组
Object.freeze(): 可以冻结一个对象,冻结后不能做任何操作。
hasOwnProperty(): 返回一个布尔值,用于检测这个属性是否是对象本身属性,而不是原型对象上的属性。obj.hasOwnProperty(‘name’))
Object.getOwnPropertyNames(obj): 返回一个自身所有属性(可枚举和不可枚举属性)名称组成的字符串数组,但是不含 Symbol 属性。
Object.getOwnPropertySymbols(obj): 返回一个数组,包含对象自身的所有 Symbol 属性的键名。