Атрибут value в фигурных скобках

Есть такой кусок кода. Что означает {value}? Правильно ли я понимаю, что после такого обозначения value может использоваться как переменная и просто как атрибут в другой части кода?

const textArea = document.querySelector(".textarea");

textArea.addEventListener("input", (e) => {
    const { value } = e.target;
    main.innerHTML = marked(value);
});
<textarea class="textarea"></textarea>


Ответы (1 шт):

Автор решения: Алексей Шиманский

Это Деструктурирующее присваивание объекта.

Простое применении будет вот так:

let user = {      
  name: 'test',
  value: 200
};

let {name: n, value : usevalue } = user;

alert(n);       // test
alert(usevalue); // 200

Происходит автоматическое разбиение объекта на отдельные составляющие и уже далее будет существовать переменная usevalue со значением из объекта, у которого имя ключа было value. В вашем случае из объекта e.target достаётся значение по ключу value и складывается в одноимённую переменную (если не указывать имя "выходящей" переменной, то она будет совпадать с тем, что указано в фигурных скобках)

Ещё можно о деструктуризации почитать на ruSO - Как работает деструктурирующее присваивание?

→ Ссылка