hand
_1_11_87
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 18:17:15
在 JavaScript 中,Object
对象是所有对象的基类,它提供了许多实用的方法来操作和处理对象。掌握这些方法可以让我们在开发过程中更加高效地操作对象。下面我们将详细介绍一些常用的 Object
对象方法。
Object.assign()
Object.assign()
方法用于将一个或多个源对象的所有可枚举属性复制到目标对象。它会返回目标对象。
Object.assign(target,...sources);
const target = { a: 1 };
const source1 = { b: 2 };
const source2 = { c: 3 };
const result = Object.assign(target, source1, source2);
console.log(target); // { a: 1, b: 2, c: 3 }
console.log(result); // { a: 1, b: 2, c: 3 }
Object.keys()
Object.keys()
方法会返回一个由给定对象的所有可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in
循环遍历该对象时返回的顺序一致。
Object.keys(obj);
const person = {
name: 'John',
age: 30,
city: 'New York'
};
const keys = Object.keys(person);
console.log(keys); // ['name', 'age', 'city']
Object.values()
Object.values()
方法返回一个给定对象所有可枚举属性值的数组,值的顺序与使用 for...in
循环遍历该对象时返回的顺序一致。
Object.values(obj);
const person = {
name: 'John',
age: 30,
city: 'New York'
};
const values = Object.values(person);
console.log(values); // ['John', 30, 'New York']
Object.entries()
Object.entries()
方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in
循环遍历该对象时返回的顺序一致。
Object.entries(obj);
const person = {
name: 'John',
age: 30,
city: 'New York'
};
const entries = Object.entries(person);
console.log(entries);
// [['name', 'John'], ['age', 30], ['city', 'New York']]
Object.freeze()
Object.freeze()
方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。
Object.freeze(obj);
const person = {
name: 'John'
};
Object.freeze(person);
person.name = 'Jane'; // 不会生效
person.newProp = 'test'; // 不会生效
console.log(person); // { name: 'John' }
Object.seal()
Object.seal()
方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。
Object.seal(obj);
const person = {
name: 'John'
};
Object.seal(person);
person.name = 'Jane'; // 可以修改
person.newProp = 'test'; // 不会生效
console.log(person); // { name: 'Jane' }
方法 | 功能 | 示例返回值 |
---|---|---|
Object.assign() |
复制一个或多个源对象的所有可枚举属性到目标对象 | 目标对象 |
Object.keys() |
返回对象所有可枚举属性名组成的数组 | ['name', 'age'] |
Object.values() |
返回对象所有可枚举属性值组成的数组 | ['John', 30] |
Object.entries() |
返回对象所有可枚举属性的键值对数组 | [['name', 'John'], ['age', 30]] |
Object.freeze() |
冻结对象,不能添加、删除、修改属性 | 原对象(但已被冻结) |
Object.seal() |
封闭对象,不能添加新属性,可修改已有可写属性 | 原对象(但已被封闭) |
通过熟练掌握这些 Object
对象的常用方法,我们可以更加灵活地操作 JavaScript 中的对象,提高开发效率和代码质量。希望本文能帮助你更好地理解和运用这些方法。
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~