标准形式
// 字面量
{ [nameValuePair1, [nameValuePair2 ....]]}
// 构造函数
new Object([value])
原型
Object.prototype
Object.prototype.__proto__ // 对象的原始集成对象
Object.prototype.constructor // 对象的构造函数
标准方法
- Object.assign()
前拷贝
- Object.create()
使用一个原始对象,创建一个新对象
- Object.defineProperties(obj, props)
给元素定义一个新属性,或者修改一个元素的属性
const obj = {}
Object.defineProperties(obj, {
property1: {
value: 42,
writeable: true, // 表示关联操作符可以改变属性的值
configurable: true // 属性可以修改,也可以删除属性
enumerable: true // 属性是否可以被枚举出来
get () {} // 设置get函数
set () {} // 设置set函数
}
})
- Object.defineProperty(obj, prop, descriptor)
同上,只是一次性只能定义一个属性
- Object.entries()
返回一个对象可以枚举的[key, value] pairs
- Object.freeze()
冻结一个object, 被冻结的对象不能被修改
- Object.isFrozen()
检查是否被冻结
- Object.seal()
封存一个对象
- Object.isSealed()
检查对象是否封存
- Object.fromEntries()
key-value pairs 转换为一个object
const entries = new Map([
["key1", "val1"]
])
const obj = Object.fromEntries(entries)
- Object.getOwnPropertyDescriptor()
获取一个对象属性的描述信息
- Object.getOwnPropertyNames()
返回一个对象所有的属性名字,包括不可以枚举的属性
- Object.getOwnPropertySymbols()
返回Symbol 属性
- Object.getPrototypeOf()
获取一个对象的创造原型
- Object.setPrototypeOf()
设置一个对象的原始类型
- Object.is
判断两个值是否相同
- Object.isExtensible()
判断一个函数是否可以扩展
- Object.preventExtensions()
不准许对象扩展
- Object.keys()
返回对象可以枚举的属性值
- Object.prototype.hasOwnProperty()
判断一个对象是否有这个属性,不包括继承的属性
- Object.prototype.isPrototypeOf()
判断一个对象是否在另外一个对象的原型链上
- Object.prototype.propertyIsEnumerable()
判断一个属性是否可以枚举
- Object.prototype.tolocalestring()
tostring
- Object.prototype.valueOf()
返回一个对象的原始值
- Object.values()
返回对象可以枚举的值








网友评论