Показать сообщение отдельно
  #7 (permalink)  
Старый 17.12.2018, 10:30
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

примитивы передаются значением (создается копия объекта), объекты передаются ссылкой (передается исходный объект)

let n = 2
  let o = {
    n: 2
  }

  function changeN(n) { // здесь копия (новый экземпляр) n
    n = 3 // замена копии
  }

  changeN(n) // здесь n = 2

  function changeNObject(o) { // здесь ссылка на объект "o"
    o.n = 3 // заменим n внутри объекта
  }

  changeNObject(o)

  console.log(n, o) // 2, {n: 3}
Ответить с цитированием