Тема: Несподівана робота методу console.log()
Вже мабуть години дві копаюсь, не можу зрозуміти як так виходить, що коли намагаюсь роздрукувати об'єкт
function fn()
{
// певна логіка створення об'єкта obj
console.log(obj);
return obj; // повертається об'єкт, який надалі десь в коді буде змінюватись
}
то роздруковується одне, але коли я намагаюсь зробити так
function fn()
{
// певна логіка створення об'єкта obj
console.log(obj);
return {}; // повертається пустий об'єкт для гарантії, що майбутні маніпуляції в коді не впливатимуть на obj
}
то роздруковується зовсім інше.
Тобто в майбутньому десь в коді змінюється об'єкт obj і це впливає на його роздрукування зараз.
Я знаю про те, що коли робиш присвоєння obj2 = obj1, то obj2 по-суті стає лінком на obj1 і змінюючи obj1 відповідно змінюється об'єкт obj2.
Але хіба можна роздруковувати зараз те, що буде потім? Чи це специфіка методу console.log()?