Как записать свойство и значение в переменную? [дубликат]

293
18 мая 2018, 10:20

На данный вопрос уже ответили:

  • Как правильно присваивать переменную? 2 ответа

Для удобства чтения кода хотел запихнуть все в переменную, но так не работает:

const noticeForUser = document.querySelector('#noticeForUser');
const defaultNotice = noticeForUser.innerHTML = 'Введите значение';

Нужна помощь, как запихнуть в переменную свойство и его значение или какой есть альтернативный вариант решения?

Answer 1

const noticeForUser = document.querySelector("#noticeForUser"); 
const defaultNotice = noticeForUser.innerHTML = "Введите значение"; 
 
console.log(defaultNotice);
<div id="noticeForUser"></div>

Код прекрасно работает. Значение innerHTML переопределяется и сохраняется в константу defaultNotice.

Другое дело, что такая ваша оптимизация вообще не желательна. Почему? Потому что многочисленное присваивание - это вообще антипаттерн.

Например:

void function foo() {
    let a = b = 1;
    console.log(a); // 1
}();
console.log(b); // 1, но снаружи функции

Как видите, довольно легко можно допустить непреднамеренное загрязнение глобальной области видимости.

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

Answer 2

Что не работает, где не работает и почему не должно работать?

let noticeForUser = {innerHTML: ''}; 
const defaultNotice = noticeForUser.innerHTML = 'Введите значение'; 
 
console.info(defaultNotice, noticeForUser.innerHTML);

READ ALSO
метод объекта с вызовом Ajax с ошибками, и почему так

метод объекта с вызовом Ajax с ошибками, и почему так

Подскажите пожалуйста, почему происходит такое поведение кодаЯ только учусь и насколько я понял, создавать классы от одно родительского...

325
Подсчитать сумму заказа исходя из цены и количества в каждом поле

Подсчитать сумму заказа исходя из цены и количества в каждом поле

Уважаемые знатоки, помогите пожалуйста разобратьсяБьюсь уже пол дня, не могу добиться чтобы при увеличении количества в поле input автоматически...

225
Парсер контента

Парсер контента

Пытаюсь спарсить этот сайт этот часть:

206
JavaScript, заполнение многомерного массива

JavaScript, заполнение многомерного массива

У меня есть массив такого вида:

229