JavaScript 对象中常用的方法

Object 构造函数的属性

  • Object.length : 值为 1。
  • Object.prototype : 表示 Object 的原型对象。改变 Object 原型,会通过原型链改变所有对象;

Object 构造函数的方法

  • Object.assign() : 通过复制一个或多个对象来创建一个新的对象。
  • Object.getOwnPropertyDescriptor() : 返回对象指定的属性配置。
  • Object.getOwnPropertyDescriptors() : 用来获取一个对象的所有自身属性的描述符。如果没有任何自身属性,则返回空对象。
  • Object.getOwnPropertyNames() : 返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名。
  • Object.getOwnPropertySymbols() : 返回一个数组,它包含了指定对象自身所有的符号属性。
  • Object.is() : 比较两个值是否相同。所有 NaN 值都相等(这与和=不同)。
  • Object.preventExtensions() : 防止对象的任何扩展。
  • Object.seal() : 防止其他代码删除对象的属性。
  • Object.create() : 使用指定的原型对象和属性创建一个新对象。
  • Object.defineProperties() : 给对象添加多个属性并分别指定它们的配置。
  • Object.defineProperty() : 给对象添加一个属性并指定该属性的配置。
  • Object.freeze() : 冻结对象:其他代码不能删除或更改任何属性。
  • Object.getPrototypeOf() : 返回指定对象的原型对象。
  • Object.setPrototypeOf() : 设置对象的原型(即内部 [[Prototype]] 属性)
  • Object.isExtensible() : 判断对象是否可扩展。
  • Object.isFrozen() : 判断对象是否已经冻结。
  • Object.isSealed() : 判断对象是否已经密封。
  • Object.keys() : 返回一个包含所有给定对象自身可枚举属性名称的数组。
  • Object.entries() : 返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。
  • Object.fromEntries() : 把键值对列表转换为一个对象。
  • Object.values() : 返回给定对象自身可枚举值的数组。

Object 原型对象的方法

[ 属性 ]

  • Object.prototype.constructor : 特定的函数,用于创建一个对象的原型。。注意,此属性的值是对函数本身的引用,而不是一个包含函数名称的字符串。
  • proto : 指向当对象被实例化的时候,用作原型的对象。proto 属性是一个访问器属性(一个 getter 函数和一个 setter 函数), 暴露了通过它访问的对象的内部[[Prototype]] (一个对象或 null)。

[ 方法 ]

  • Object.prototype.defineGetter() : 关联一个函数到一个属性。访问该函数时,执行该函数并返回其返回值。
  • Object.prototype.defineSetter() : 关联一个函数到一个属性。设置该函数时,执行该修改属性的函数。
  • Object.prototype.hasOwnProperty() : 返回一个布尔值 ,表示某个对象是否含有指定的属性,而且此属性非原型链继承的。
  • Object.prototype.lookupGetter() : 返回使用 defineGetter 定义的方法函数 。
  • Object.prototype.lookupSetter() : 返回使用 defineSetter 定义的方法函数 。
  • Object.prototype.isPrototypeOf() : 返回一个布尔值,表示指定的对象是否在本对象的原型链中。
  • Object.prototype.propertyIsEnumerable() : 返回一个布尔值,表示指定的属性是否可枚举。
  • Object.prototype.toString() : 返回一个表示该对象的字符串。
  • Object.prototype.valueOf() : 返回指定对象的原始值。
  • Object.prototype.toLocaleString() : 直接调用 toString()方法。返回一个表示该对象的字符串。