Skip to content

JavaScript Object API

JavaScript Object 静态方法,用于键、值、合并和冻结。

1 class · 6 methods

Object

6 methods

用于操作对象的静态方法。

Object.keys(obj)

返回对象自身可枚举的字符串键属性组成的数组。

Parameters

NameTypeDescription
objobject源对象。

Returns

string[]

Example

javascript
Object.keys({a: 1, b: 2})  // ['a', 'b']
Object.keys([1, 2, 3])      // ['0', '1', '2']
Object.values(obj)

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

Parameters

NameTypeDescription
objobject源对象。

Returns

any[]

Example

javascript
Object.values({a: 1, b: 2})  // [1, 2]
Object.values('ab')          // ['a', 'b']
Object.entries(obj)

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

Parameters

NameTypeDescription
objobject源对象。

Returns

[string, any][]

Example

javascript
Object.entries({a: 1, b: 2})  // [['a', 1], ['b', 2]]
Object.fromEntries(Object.entries({a: 1}).map(([k, v]) => [k, v * 2]))  // {a: 2}
Object.assign(target, ...sources)

将所有可枚举的自有属性从 sources 复制到 target。返回 target。

Parameters

NameTypeDescription
targetobject目标对象(会被修改)。
sources...object源对象。

Returns

object

Example

javascript
Object.assign({}, {a: 1}, {b: 2})     // {a: 1, b: 2}
Object.assign({a: 1}, {a: 2, b: 3})    // {a: 2, b: 3} (overwrites)
Object.freeze(obj)

冻结对象:阻止添加、移除或修改属性。

Parameters

NameTypeDescription
objobject要冻结的对象。

Returns

object

Example

javascript
const o = Object.freeze({a: 1});
o.a = 2        // silently fails (or throws in strict mode)
o.b = 3        // fails
// o is still {a: 1}
Object.fromEntries(iterable)

将 [key, value] 键值对列表转换为对象。

Parameters

NameTypeDescription
iterableIterable<[key, value]>键值对的可迭代对象。

Returns

object

Example

javascript
Object.fromEntries([['a', 1], ['b', 2]])  // {a: 1, b: 2}
Object.fromEntries(new Map([['k', 'v']]))   // {k: 'v'}