Разбирал такие случаи, тут понятно:
let first = {name:'hello'} // в переменной first хранится ссылка на этот объект
let second = first // в переменную second записали ссылку на объект first
first.name = 'bye' // перезаписали в ключ объекта first name: 'bye'
console.log(second.name) // bye, так как ссылка у переменной second все равно на объект first
Но увидел такой пример и не могу понять, почему:
let first = {name:'hello'} // в переменной first хранится ссылка на объект
let second = first // в переменную second записали ссылку на объект first
first = {name: 'bye') // в переменную first задали ссылку на новый объект
console.log(second.name) //hello
почему выводится 'hello' мы же изменили объект, ссылка на который лежит в переменной first, и ссылка на него лежит в second?