• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共299篇

    前端 - Javascript

关闭

返回栏目

关闭

返回前端 - Javascript栏目

87 - 内置对象 - Object 对象 - 对象的常用方法

作者:

贺及楼

成为作者

更新日期:2025-02-21 18:17:15

前端 - JavaScript 《内置对象 - Object 对象 - 对象的常用方法》

在 JavaScript 中,Object 对象是所有对象的基类,它提供了许多实用的方法来操作和处理对象。掌握这些方法可以让我们在开发过程中更加高效地操作对象。下面我们将详细介绍一些常用的 Object 对象方法。

1. Object.assign()

功能

Object.assign() 方法用于将一个或多个源对象的所有可枚举属性复制到目标对象。它会返回目标对象。

语法

  1. Object.assign(target,...sources);

示例

  1. const target = { a: 1 };
  2. const source1 = { b: 2 };
  3. const source2 = { c: 3 };
  4. const result = Object.assign(target, source1, source2);
  5. console.log(target); // { a: 1, b: 2, c: 3 }
  6. console.log(result); // { a: 1, b: 2, c: 3 }

注意事项

  • 如果目标对象和源对象有相同的属性名,后面的源对象的属性会覆盖前面的。
  • 该方法是浅拷贝,如果源对象的属性值是引用类型,只会复制引用,而不会复制对象本身。

2. Object.keys()

功能

Object.keys() 方法会返回一个由给定对象的所有可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致。

语法

  1. Object.keys(obj);

示例

  1. const person = {
  2. name: 'John',
  3. age: 30,
  4. city: 'New York'
  5. };
  6. const keys = Object.keys(person);
  7. console.log(keys); // ['name', 'age', 'city']

3. Object.values()

功能

Object.values() 方法返回一个给定对象所有可枚举属性值的数组,值的顺序与使用 for...in 循环遍历该对象时返回的顺序一致。

语法

  1. Object.values(obj);

示例

  1. const person = {
  2. name: 'John',
  3. age: 30,
  4. city: 'New York'
  5. };
  6. const values = Object.values(person);
  7. console.log(values); // ['John', 30, 'New York']

4. Object.entries()

功能

Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致。

语法

  1. Object.entries(obj);

示例

  1. const person = {
  2. name: 'John',
  3. age: 30,
  4. city: 'New York'
  5. };
  6. const entries = Object.entries(person);
  7. console.log(entries);
  8. // [['name', 'John'], ['age', 30], ['city', 'New York']]

5. Object.freeze()

功能

Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。

语法

  1. Object.freeze(obj);

示例

  1. const person = {
  2. name: 'John'
  3. };
  4. Object.freeze(person);
  5. person.name = 'Jane'; // 不会生效
  6. person.newProp = 'test'; // 不会生效
  7. console.log(person); // { name: 'John' }

6. Object.seal()

功能

Object.seal() 方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。

语法

  1. Object.seal(obj);

示例

  1. const person = {
  2. name: 'John'
  3. };
  4. Object.seal(person);
  5. person.name = 'Jane'; // 可以修改
  6. person.newProp = 'test'; // 不会生效
  7. 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 中的对象,提高开发效率和代码质量。希望本文能帮助你更好地理解和运用这些方法。