Основы JS, деструктуризация объектов

  • Автор темы serg4
  • 33
  • Обновлено
  • 12, May 2024
  • #1
Здравствуйте, я не понимаю следующее задание деструктуризации:
 

const seasonConfig = {

summer: {

text: "Lets hit the beach",

iconName: "sun",

},

winter: {

text: "Burr, it is chilly",

iconName: "snowflake",

},

};

const getSeason = (lat, month) => {

if (month > 2 && month < 9) {

return lat > 0 ? "summer" : "winter";

} else {

return lat < 0 ? "winter" : "summer";

}

};

const season = getSeason(37.23452, new Date().getMonth());

const { text, iconName } = seasonConfig[season];

Код (JavaScript): SeasonConfig — это вложенные объекты, верно. Однако, когда я извлекаю сезон (лето или зима), я помещаю его в структуру, подобную массиву: SeasonConfig.[время года]; по заданию на деструктуризацию Почему это? Конфиг сезона явно не массив!?

Большое спасибо!!

serg4


Рег
14 Apr, 2011

Тем
1

Постов
3

Баллов
13
  • 03, Jun 2024
  • #2
Технически это не деструктуризация, а присвоение объекта.

Если назначение объекта не имеет имени, вместо этого для индексации цели используются имена внутри него.

Это может быть ДЕЙСТВИТЕЛЬНО запутанным, учитывая, что если бы text и iconName были локальными переменными, они бы использовались вместо значений из присваивания.

Это одна из причин, по которой я ненавижу конструкции такого типа: в зависимости от того, где вы их используете и какие переменные назначены, а какие нет, Кристмас знает только, как JS будет обрабатывать указанный код.

Одна из многих причин, по которой JS — это уродливый кладж, и я не совсем понимаю, почему люди так спешат использовать это дерьмовое шоу на стороне сервера.

Мы использовали его только на стороне клиента, потому что это было все, что у нас было.
 

Vladsez


Рег
17 Sep, 2010

Тем
1

Постов
4

Баллов
14
Тем
49554
Комментарии
57426
Опыт
552966

Интересно