-
Reflect.ownKeys(target)
-
target参数
:传入一个对象(非对象会报错) -
返回target所有的属性key,这些属性形成一个数组
-
注意:可以返回不可枚举类型,但是不返回target继承的属性
Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target)) Reflect.ownKeys(target) 两者在遍历对象属性具有相同的作用
-
-
Object.keys(target)
target参数
:传入对象(非对象不会报错)- 返回target可枚举的属性key,这些属性形成一个数组
- 注意:返回可枚举类型的属性,不返回的属性有:不可枚举的属性、target继承的属性
-
对象的每一个属性都有一个描述对象,用来描述和控制该属性的行为,获取到的描述对象中的enumerable属性,称为可枚举性,ture为可枚举,false即不可枚举。当属性不可枚举时,就表示某些操作会忽略当前属性。
Object.getOwnPropertyDescriptor(object,'该对象具有的属性')
- 获取对象的属性的描述对象
Object.defineProperty()
- 设置对象的属性的描述对象
- 以下操作也会忽视不可枚举的属性
for...in循环
:只遍历对象自身和继承的可枚举属性Object.keys()
:返回对象自身的所有可枚举属性的键名JSON.stringify()
:只串行化对象自身的可枚举属性Object.assign()
: 只拷贝对象自身的可枚举的属性
-
Object.assign(object1,object2,object3)
var test = Object.assign(object1,object2,object3);
- 将对象
object1、object2、object3
的属性添加给变量test - 多个对象合并
- 将对象
-
Object.is()
-
该方法与
===
类似 -
区别
+0 === -0 //true NaN === NaN // false Object.is(+0, -0) // false Object.is(NaN, NaN) // true
-
-
===
- 严格相等运算符
- 比较时不进行隐式类型转换
-
==
- 相等运算符
- 比较时会自动进行数据类型转换
JavaScript《每日一点儿》
于 2022-07-02 20:39:00 首次发布