Object
6 methods用于操作对象的静态方法。
Object.keys(obj)返回对象自身可枚举的字符串键属性组成的数组。
Parameters
| Name | Type | Description |
|---|---|---|
| obj | object | 源对象。 |
Returns
string[]
Example
javascript
Object.keys({a: 1, b: 2}) // ['a', 'b']
Object.keys([1, 2, 3]) // ['0', '1', '2']Object.values(obj)返回对象自身可枚举属性值组成的数组。
Parameters
| Name | Type | Description |
|---|---|---|
| obj | object | 源对象。 |
Returns
any[]
Example
javascript
Object.values({a: 1, b: 2}) // [1, 2]
Object.values('ab') // ['a', 'b']Object.entries(obj)返回对象自身可枚举属性的 [key, value] 键值对组成的数组。
Parameters
| Name | Type | Description |
|---|---|---|
| obj | object | 源对象。 |
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
| Name | Type | Description |
|---|---|---|
| target | object | 目标对象(会被修改)。 |
| 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
| Name | Type | Description |
|---|---|---|
| obj | object | 要冻结的对象。 |
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
| Name | Type | Description |
|---|---|---|
| iterable | Iterable<[key, value]> | 键值对的可迭代对象。 |
Returns
object
Example
javascript
Object.fromEntries([['a', 1], ['b', 2]]) // {a: 1, b: 2}
Object.fromEntries(new Map([['k', 'v']])) // {k: 'v'}