Object 构造函数的方法

1、Object.assign(target, source, ?...source)

  target: 目标对象

  source: 来源对象(可多个)

  通过复制一个或多个对象来创建一个新的对象。

    可以发现,该方法直接作用于目标对象,属性及值更新成了源对象的属性及值。

2、Object.create(o, ?properties)

  o: 对象的原型对象

  properties: 值的属性

  使用指定的原型对象和属性创建一个新对象。

  aa 继承了 a

 

  追加了个 age 属性,值是 'b'

  注:对象属性

3、Object.defineProperty(o, prototypeKey, attributes)

  o: 目标对象

  prototypeKey: 属性名

  attributes: 用于要描述该属性的属性配置

  给对象添加一个属性并指定该属性的配置。

  这里给 空对象 a 一个 name 属性,且赋值为 'a',同时不可写,这样后面的 a.name 赋值则不会成功~

4、Object.defineProperties(o, properties)

  o: 目标对象

  properties: 多个描述属性的属性配置

  给对象添加多个属性并分别指定它们的配置。

   相当于可以批量添加对象属性

5、Object.entries(o)

  o: 目标对象

  返回给定对象自身可枚举属性的 [key, value] 数组。

6、Object.freeze(o)

  o: 目标对象

  冻结对象:其他代码不能删除或更改任何属性。

   啥都不能动,只能看着

7、Object.getOwnPropertyDescriptor(o, propertyKey)

  o: 目标对象

  propertyKey: 属性名

  返回对象指定的属性配置。

8、Object.getOwnPropertyNames(o)

  o: 目标对象

  返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名。

  只含字符串属性

9、Object.getOwnPropertySymbols(o)

  o: 目标对象

  返回一个数组,它包含了指定对象自身所有的符号属性。

  因为所有的对象在初始化的时候不会包含任何的 Symbol,除非你在对象上赋值了 Symbol 否则Object.getOwnPropertySymbols()只会返回一个空的数组。

10、Object.getPrototypeOf(o)

  o: 目标对象

  返回指定对象的原型对象。

11、Object.is(value1, value2)

  value1、value2: 要比较的2个值

  比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)。

   同时要注意

 12、Object.isExtensible(o)

  o: 目标对象

  判断对象是否可扩展。

   默认情况下,对象是可扩展的:即可以为他们添加新的属性。以及它们的 __proto__ 属性可以被更改。

  Object.preventExtensionsObject.seal 或 Object.freeze 方法都可以标记一个对象为不可扩展(non-extensible)

13、Object.isFrozen(o)

  o: 目标对象

  判断对象是否已经冻结。

14、Object.isSealed(o)

  o: 目标对象

  判断对象是否已经密封。

  如果这个对象是密封的,则返回 true,否则返回 false。密封对象是指那些不可 扩展 的,且所有自身属性都不可配置且因此不可删除(但不一定是不可写)的对象。

15、Object.keys()

  返回一个包含所有给定对象自身可枚举属性名称的数组。

16、Object.preventExtensions(o)

  o: 目标对象

  防止对象的任何扩展。

  仅阻止添加自身的属性。但其对象类型的原型依然可以添加新的属性。

17、Object.seal(o)

  o: 目标对象

  防止其他代码删除对象的属性。

  密封一个对象会让这个对象变的不能添加新属性,且所有已有属性会变的不可配置。属性不可配置的效果就是属性变的不可删除,以及一个数据属性不能被重新定义成为访问器属性,或者反之。但属性的值仍然可以修改。

18、Object.setPrototypeOf(o, prototype)

  o: 目标对象

  prototype: 要继承的新原型

  设置对象的原型(即内部 [[Prototype]] 属性)。

19、Object.values(o)

  o: 目标对象

  返回给定对象自身可枚举值的数组。

  source: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object

原文地址:https://www.cnblogs.com/guofan/p/13892323.html