Object的构造函数方法

参考自MDN

Object 构造函数的方法

1、Object.assign()

将可枚举属性的值从一个或多个源对象复制到目标对象。

2、Object.create()

创建一个新对象,继承现有对象的构造函数。

3、Object.defineProperty()

在新对象上定义一个新属性的配置,或修改原有对象属性的配置。

4、Object.defineProperties()

定义或修改多个属性的配置

5、Object.entries()

返回对象自身可枚举属性的[key , value]

6、Object.fromEntries()

传入一个键值对列表,转换成一个对象

const entries = [ ['foo', 'bar'] , ['baz', 42],['three','333'] ];
const obj = Object.fromEntries(entries);
// expected output: Object { foo: "bar", baz: 42, three: "333" }

const entries2 = new Map([ ['foo', 'bar'] , ['baz', 42],['three','333'] ]);
const obj2 = Object.fromEntries(entries2);
// expected output: Object { foo: "bar", baz: 42, three: "333" }

7、Object.freeze()

冻结对象,不能删除或更改任何属性。

8、Object.getOwnPropertyDescriptor()

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

9、Object.getOwnPropertyNames()

返回一个由自身属性名组成的数组

10、Object.getPrototypeOf()

返回当前对象的原型,如果没有继承属性则返回null

  const prototype1 = {};
  const object1 = Object.create(prototype1);
  // expected output: Object {  }
  const prototype2 = { aaa: 123 };
  const object2 = Object.create(prototype2);
  // expected output: Object { aaa: 123 }

11、Object.is(value1, value2)

判断两个值是否相同,特殊值详见文档( NaN,null,undefined... )

12、Object.isExtensible()

判断一个对象是否是可以添加新的属性

13、Object.isFrozen()

判断一个对象是否被冻结

14、Object.preventExtensions()

让对象变得不能扩展(密封对象),永远不能再添加新的属性

15、Object.isSealed()

判断一个对象是否被密封

(什么是密封对象:

  密封对象的自身属性是不可配置的,

  { }可以设置为密封对象,

  { fee: "fie" }不可以,如果把 fee 变成不可配置属性,这个对象就可以设置成密封对象

16、Object.keys()

返回给定对象自身可枚举属性名组成的数组。

17、Object.seal()

返回给定对象封闭后的对象,不能添加新属性,现有属性变得不可配置,当前属性的值只要可写就可以改变

18、Object.setPrototypeOf()

设置指定对象的原型,可以是null

19、Object.values()

返回可枚举对象属性的值

原文地址:https://www.cnblogs.com/xinchenhui/p/11209030.html