Не совсем понял разницы. names точно так же как и в моем коде, объявляется вне обработчика. Мне нужно этот names создать внутри обработчика, если клик идет в первый раз, а при последующих кликах просто заполнять в уже существующий объект. Что типа такого:
addButton.addEventListener('click', () => {
let name = addNameInput.value;
let value = addValueInput.value;
if(!names) {
var names = {};
names[name] = value;
}else{
names[name] = value;
}
});