作为 JavaScript 开发人员必须知道的 5 个对象方法 2. Object.create() 3. Object.entries() 4. Object.freeze() 5. Object.is()

2025-06-07

JavaScript 开发者必须知道的 5 个对象方法

2. 对象.create()

3. Object.entries()

4. Object.freeze()

5. 对象.is()

在 JavaScript 中,几乎所有东西都是对象,但不幸的是,并不是所有人都知道它带来的好处。

在本文中,我将向您展示五种最常用的对象方法及其示例。

1. 对象.assign()

这也许是 JavaScript 中最常用的对象方法了。简单来说,这个方法会将所有值从一个或多个源复制到一个目标对象。

const chevrolet = {
  type: 'sedan',
  price: 10000,
  isLuxury: true,
};
const honda = Object.assign(chevrolet);

console.log(honda);
// {type: "sedan", price: 10000, isLuxury: true}
Enter fullscreen mode Exit fullscreen mode

在上面的代码块中,我们创建了一个新的对象 chevrolet ,其中包含一些数据。
出于某种原因,我们想要另一个具有相同数据的对象。因此,我们基本上使用assign方法将 chevrolet 中的数据复制到 honda 中。

2. 对象.create()

此方法与 Object.assign() 非常相似——您可以基于引用对象创建一个新对象。然而,不同之处在于,使用assign() 方法创建的对象与引用对象是关联的。对其中一个对象的更改将影响另一个对象(继承链)。

//  with  assign
const chevrolet = {
  type: 'sedan',
  price: 10000,
  isLuxury: true,
};
const honda = Object.assign(chevrolet);

honda.price = 2000; // this will overwrite both
//  the price property in honda
//  and chevrolet

console.log(chevrolet);
// {type: "sedan", price: 2000, isLuxury: true}

//  with object.create
const chevrolet = {
  type: 'sedan',
  price: 10000,
  isLuxury: true,
};
const honda = Object.create(chevrolet);

honda.price = 2000;
//  change will not affect reference object (chevrolet)

console.log(chevrolet);
// {type: "sedan", price: 10000, isLuxury: true}

console.log(honda);
// {type: "sedan", price: 2000, isLuxury: true}
Enter fullscreen mode Exit fullscreen mode

3. Object.entries()

entry.() 方法返回一个包含对象内所有数据(键/值)的数组。

const chevrolet = {
  type: 'sedan',
  price: 10000,
  isLuxury: true,
};

const chevArr = Object.entries(chevrolet);

console.log(chevArr);
// [ [type,sedan,], [price,10000,], [isLuxury,true,]]
Enter fullscreen mode Exit fullscreen mode

4. Object.freeze()

此方法实际上会冻结一个对象,使其不可变。属性无法更改或删除。

const chevrolet = {
  type: 'sedan',
  price: 10000,
  isLuxury: true,
};
Object.freeze(chevrolet);

chevrolet.price = 20000;

console.log(chevrolet.price);
//  10000 instead of 20000.
Enter fullscreen mode Exit fullscreen mode

5. 对象.is()

此方法比较两个对象并返回一个布尔值。

const chevrolet = {
  type: 'sedan',
  price: 10000,
  isLuxury: true,
};
const honda = Object.assign(chevrolet);

const isEqual = Object.is(honda, chevrolet);

console.log(isEqual);
//  true
Enter fullscreen mode Exit fullscreen mode

更新:如果你喜欢这篇文章,可以看看我关于数组方法的文章
。好了,希望大家能从中有所收获。
祝你编程愉快。

文章来源:https://dev.to/siradji/5-object-methods-you-need-to-know-in-javascript-20j6
PREV
适合所有开发者的简约 Web 作品集 😎
NEXT
OAuth 就像一个 BOSS 常用的东西 从另一个主机登录 从浏览器扩展登录 从另一种语言登录 结论