1、Object.assign
将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。
- - - -
- - -
- - -
- -
- ------ - - -- -- -- - --
- ------ - - -- -- -- - --
- -------------- - ----------- --------
------------ - - - - - - - - -
------------ - - - - - - -
-------------------- - - - - - - - - -
2、Object.create
创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。
- ---- - -
-- --
-- ----
------
-
-
- -
- ---- - ----------
3、Object.defineProperties
直接在一个对象上定义新的属性或修改现有属性,并返回该对象。
- --- - -
-- -
-
------------ -
-- -
-- -
--
-- -
-- -
-
--- - - - - -
4、Object.defineProperty
直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
- --- - -
-- -
-
------------ -- -
-- -
--- - - -
------------ -- -
-- -
--- - - - - -
--------- - - - - - - - - -
5、Object.entries
返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for...in 循环还会枚举原型链中的属性)。
- --- - -
-- --
-- -
-
------------- - - - - -
- -- ----- ------ - --------- -
--------- ------ - - - - -
-
6、Object.freeze
冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。
- --- - -
-- --
-- -
-
- -
--------
- -
----- - --
- -
----- - --
- -
- ------
--------- - - - - -
7、Object.fromEntries
把键值对列表转换为一个对象。
- --- - - --- --- --- -- -
------------- - - - - -
- --- - - --- --- --- --- -- ---
-------------- - - - - -
8、Object.getOwnPropertyDescriptor
返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)
- --- - -
-- --
-
- ---- - -------- --
------------ - -
------------ - -
9、Object.getOwnPropertyDescriptors
获取一个对象的所有自身属性的描述符。
- --- - -
-- --
-
- ---- - ----
---------
--------
--
---------- - - -
- - - -
------ - -
---------- - - -
--------- - - -
10、Object.getOwnPropertyNames
返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。
- -
- --- - --- -- ---
------------------ - - - - -
- -
- ------- - - -- -- -- -- -- ---
---------------------- - - - -
-
- --- - ------- -
-- -
-- --- - - ---- --
-- -
-
---
----- - --
------------------ - - -
11、Object.getOwnPropertySymbols
返回一个给定对象自身的所有 Symbol 属性的数组。
- --- - ---
- - - -----
- - - -------
------ - --
------ - --
- ------------- - ---------
--------------------- - -
------------------ - - -
--------------------- - -
12、Object.getPrototypeOf
返回指定对象的原型(内部 Prototype 属性的值)。
- --- - --- ---
- ---- - ---------
--------------- - - -
------------- - ----- - -
13、Object.hasOwn
判断是否为自身属性
- - - - - - - - -
- --- - --- ---
------------ ---- - -
------------ ---- - -
14、Object.is
判断两个值是否相等
---------- ---- - -
---------- ---- - -
---------- ---- - -
---------- ---- - -
---------- ---- - -
15、Object.isExtensible
确定对象是否可扩展(是否可以向其添加新属性)。
- --- - ---
- - -
-------------- - -
- - - - - -
---------
- - -
-------------- - -
16、Object.isFrozen
确定对象是否已冻结。
- --- - ---
- -
-------------- - -
- - -
---------
- -
-------------- - -
17、Object.isSealed
判断一个对象是否被密封。
- -
- --- - ---
-------------- - -
- - - - - -
---------
-------------- - -
- -
- ------- - - -- - - - --
-------------
------------------ - -
- -
------------ -- -
-- -
---
------------------ - -
- - -
- ------ - ---
------------
----------------- - -
- -
----------------- - -
- -
----------------- - - -
- -- - ----- -- - ---
------------- - - -
- -- - ----- - --- - - -- - ---
------------- - - -
18、Object.keys
返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。
- -
- --- - --- -- ---
-------------- - - - -
- -
- ------- - - -- -- -- -- -- - --
------------------ - - - -
- -
- --- - - -- -- -- ---
-------------- - - -
19、Object.preventExtensions
方法让一个对象变的不可扩展,也就是永远不能再添加新的属性。
- --- - ---
- -
---------
- -
-------- -- -
-- -
---
- - --- -
------- - - - - - - - - - -
-
20、Object.seal
封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。
- --- - -
-- -
--
- -
---------
- -
----- - --
----------- - -
- -
- ------
----------- - -
21、Object.setPrototypeOf
方法设置一个指定的对象的原型 ( 即内部 Prototype 属性)到另一个对象或null。
22、Object.values
方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用for...in循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。
// 数组
var --- = ['a', 'b', 'c'];
console.log(Object.values(---)); // ['a', 'b', 'c']
// 类数组对象
var ------- = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(-------)); // ['a', 'b', 'c']
// 对象
var --- = { a: 2, b: 3};
console.log(Object.values(---)); // [2, 3]