JavaScript Object

JavaScript Object教程

Object 是在 JavaScript 中一个被我们经常使用的类型,而且在 JavaScript 中的所有 对象 都是继承自 Object 对象的。

虽说我们平时只是简单地使用了 Object 对象来存储数据,并没有使用到太多其他功能,但是 Object 对象其实包含了很多很有用的 属性 和方法,尤其是 ES5 增加的方法。

JavaScript Object详解

对象初始化器

语法

// 对象初始化器(Object initialiser)或对象字面量(literal) { [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }

参数

参数 描述
nameValuePair1, nameValuePair2, … nameValuePairN 成对的名称(字符串)与值(任何值),其中名称通过冒号与值分隔。

构造函数

语法

new Object([value])

参数

参数 描述
value 任何值

JavaScript Object常用方法

方法 描述
Object.assign(target, source1, source2, …) 用于对象的合并
Object.create(prototype, [propertiesObject]) 使用指定的原型对象及其属性去创建一个新的对象
Object.defineProperties(obj, props) 直接在一个对象上定义新的属性或修改现有属性,并返回该对象
Object.defineProperty(obj, prop, descriptor) 在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象
Object.keys(obj) 返回一个由一个给定对象的自身可枚举属性组成的数组
Object.values() 返回一个给定对象自己的所有可枚举属性值的数组
Object.entries() 返回一个给定对象自身可枚举属性的键值对数组
hasOwnProperty() 判断对象自身属性中是否具有指定的属性
Object.getOwnPropertyDescriptor(obj, prop) 返回指定对象上一个自有属性对应的属性描述符。
Object.getOwnPropertyDescriptors(obj) 获取一个对象的所有自身属性的描述符
Object.getOwnPropertyNames() 返回一个由指定对象的所有自身属性的属性名组成的数组
Object.getOwnPropertySymbols() 返回一个给定对象自身的所有 Symbol 属性的数组
Object.getPrototypeOf() 返回指定对象的原型(内部[[Prototype]]属性的值,即 proto,而非对象的prototype)
isPrototypeOf() 判断一个对象是否存在于另一个对象的原型链上
Object.setPrototypeOf(obj, prototype) 设置对象的原型对象
Object.is() 判断两个值是否相同
Object.freeze() 冻结一个对象,冻结指的是不能向这个对象添加新的属性,不能修改其已有属性的值
Object.isFrozen() 判断一个对象是否被冻结
Object.preventExtensions() 对象不能再添加新的属性。
Object.isExtensible() 判断对象是否是可扩展的
Object.seal() Object.seal() 方法可以让一个对象密封,并返回被密封后的对象。
Object.isSealed() 判断对象是否被密封
toString() 返回当前对象对应的字符串形式
toLocaleString() 返回当前对象对应的本地字符串形式

JavaScript Object总结

Object 是在 JavaScript 中一个被我们经常使用的类型,而且在 JavaScript 中的所有对象都是继承自 Object 对象的。