对象
1. Object.create()
2.Objectassign()
- 合并复制对象 浅复制,并且返回复制后的目标对象
- 只赋值对象属性,不能复制原型链属性,不能复制不可枚举属性
var o = { a: 1 };
var o1 = { b: 2 };
var o2 = Object.assign(o, o1);
3.Object.defineProperty()
- 给对象添加属性
- 语法
Object.defineProperty(对象名, '属性名', {
configurable: true,
enumerable: true,
writable: true,
value: a,
});
4.Object.definePropertys()
- 给对象设置多个属性
Object.definePorpertys(o, {
b: {
enumerable: true,
configurable: true,
value: 1,
},
c: {
writable: true,
configurable: true,
value: 2,
},
});
5.获取对象属性
1).Object.getOwnPropertyName(对象名)
- 获取当前对象所有属性,包括不可枚举属性,并且返回一个属性组成的数组
- 不可获取到原型链属性,不能获取 Symbol 属性
2).Object.getOwnPropertySymbols(对象名)
3).Reflect.ownKeys(对象名)
- 可以获取到对象的所有属性,包括 Symbol 属性
4).Object.getOwnPropertyDescriptor(对象名,“属性名”)
5).Object.getOwnPropertyDescriptors(对象名)
6.Object.entries()
7.Object.fromEntries()
8.Object.freeze(对象名)
- 冻结-将对象中所有属性设置为不可删除,不可修改,不可扩展添加
- 检查书否冻结
9.Object.seal(对象名)
- 封锁对象,可以修改,不可删除,不可扩展添加
- 检查是否封锁
0 Object.isSeaed()
10.Object.preventExtensions(对象名)
- 这是不可扩展对象,可以修改,可以删除,但是不可以扩展添加
- 检查是否禁止
- Object.inExtensibble(对象名)
11.Object.getPropertypeof(对象名)
12.Object.setPropertyprof(对象名,对象名)
13.Object.hasOwnPorperty(对象名,属性名)
14.Object.is()
- 这个效果等同于 ===
- 这里可以判断 是不是等于 NaN
15.Object.values(对象名)
16.Object.keys(对象名))
|