Проблема, которую вы видите, связана с тем, что консоль браузера, пытаясь быть очень полезной, не регистрирует строку, когда вы регистрируете объект. Вместо этого он записывает в реальном времени этот объект. Поэтому, если вы зарегистрируете объект, а затем обновите его, вы увидите обновленную версию в консоли. Однако, когда вы регистрируете свойство объекта, консоль регистрирует его как статическую строку.
Вы можете увидеть это здесь:
Строка просто регистрируется как статическая строка, но объект обрабатывается специально, с подсветкой синтаксиса и расширением представлений свойств и тому подобным.
Вот пример, где мы записываем статическую строковую версию объекта, а также динамическую ссылку на объект:
let days = [5, 6];
let newData = {};
days.forEach(day => {
newData.date = day;
console.log('newData.date: ' + newData.date);
console.log(JSON.stringify(newData));
console.log(newData);
});
Это дает: