这个对象是解构的还是其他什么?

Is this object destructuring or something else?

我正在分析代码,发现我不能完全理解其中的一部分。请帮助我

import {someOffers} from "../const.js";

const createOffer = () => {
  const offers = someOffers.map(({name, price}) => `<li class="some__offer">
  <span class="some__offer-title">${name}</span>
  &plus;
  &euro;&nbsp;<span class="some__offer-price">${price}</span>
  </li>`);
return offers;
}

我了解到:

  1. 我们从 const.js 导入数组 someOffers。这是一个对象的 7 元素数组,每个对象有 3 个键 (name, price, type).

  2. 我们创建箭头函数来创建相同长度的 offers 数组(如 someOffers)每个元素的适当键 (name, price)。它是通过 map() 方法完成的,它使用函数更改数组的每个元素,写在参数中:

    (({名称, 价格}) => <li class="some__offer"><span class="some__offer-title">${name}</span>&plus;&euro;&nbsp;<span class="some__offer-price">${price}</span></li>)

你能帮我破译这些参数吗?特别是对象文字中的那些。它是否与解构有关?

谢谢!

是的,它正在解构 someOffers 中的元素。

例如,您可以这样做:

someOffers.map(offer => <div>${offer.name} ${offer.price}</div>)

someOffers.map(({name, price}) => <div>${name} ${price}</div>)

希望这张插图能帮助您了解正在发生的事情。