標(biāo)準(zhǔn)形式
// 字面量
{ [nameValuePair1, [nameValuePair2 ....]]}
// 構(gòu)造函數(shù)
new Object([value])
原型
Object.prototype
Object.prototype.__proto__ // 對(duì)象的原始集成對(duì)象
Object.prototype.constructor // 對(duì)象的構(gòu)造函數(shù)
標(biāo)準(zhǔn)方法
- Object.assign()
前拷貝
- Object.create()
使用一個(gè)原始對(duì)象,創(chuàng)建一個(gè)新對(duì)象
- Object.defineProperties(obj, props)
給元素定義一個(gè)新屬性燎悍,或者修改一個(gè)元素的屬性
const obj = {}
Object.defineProperties(obj, {
property1: {
value: 42,
writeable: true, // 表示關(guān)聯(lián)操作符可以改變屬性的值
configurable: true // 屬性可以修改廓脆,也可以刪除屬性
enumerable: true // 屬性是否可以被枚舉出來
get () {} // 設(shè)置get函數(shù)
set () {} // 設(shè)置set函數(shù)
}
})
- Object.defineProperty(obj, prop, descriptor)
同上,只是一次性只能定義一個(gè)屬性
- Object.entries()
返回一個(gè)對(duì)象可以枚舉的[key, value] pairs
- Object.freeze()
凍結(jié)一個(gè)object, 被凍結(jié)的對(duì)象不能被修改
- Object.isFrozen()
檢查是否被凍結(jié)
- Object.seal()
封存一個(gè)對(duì)象
- Object.isSealed()
檢查對(duì)象是否封存
- Object.fromEntries()
key-value pairs 轉(zhuǎn)換為一個(gè)object
const entries = new Map([
["key1", "val1"]
])
const obj = Object.fromEntries(entries)
- Object.getOwnPropertyDescriptor()
獲取一個(gè)對(duì)象屬性的描述信息
- Object.getOwnPropertyNames()
返回一個(gè)對(duì)象所有的屬性名字肆汹,包括不可以枚舉的屬性
- Object.getOwnPropertySymbols()
返回Symbol 屬性
- Object.getPrototypeOf()
獲取一個(gè)對(duì)象的創(chuàng)造原型
- Object.setPrototypeOf()
設(shè)置一個(gè)對(duì)象的原始類型
- Object.is
判斷兩個(gè)值是否相同
- Object.isExtensible()
判斷一個(gè)函數(shù)是否可以擴(kuò)展
- Object.preventExtensions()
不準(zhǔn)許對(duì)象擴(kuò)展
- Object.keys()
返回對(duì)象可以枚舉的屬性值
- Object.prototype.hasOwnProperty()
判斷一個(gè)對(duì)象是否有這個(gè)屬性终吼,不包括繼承的屬性
- Object.prototype.isPrototypeOf()
判斷一個(gè)對(duì)象是否在另外一個(gè)對(duì)象的原型鏈上
- Object.prototype.propertyIsEnumerable()
判斷一個(gè)屬性是否可以枚舉
- Object.prototype.tolocalestring()
tostring
- Object.prototype.valueOf()
返回一個(gè)對(duì)象的原始值
- Object.values()
返回對(duì)象可以枚舉的值