Показать сообщение отдельно
  #3 (permalink)  
Старый 31.03.2016, 12:48
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от DivMan
mac.videocard = "nvidia";
anotherPerson.name = "Greg";
здесь свойство записывается в сам объект, а в прототипе остается старое.

т.е., для примера с компами, сначала было так
{
  __proto__: {
      type: Math.random().toString(36).substring(7),
      cpu: Math.random().toString(36).substring(7),
      videocard: Math.random().toString(36).substring(7)
  }
}

и значение mac.videocard бралось из __proto__

а после mac.videocard = "nvidia"; стало так:
{
  videocard: "nvidia",
  __proto__: {
      type: Math.random().toString(36).substring(7),
      cpu: Math.random().toString(36).substring(7),
      videocard: Math.random().toString(36).substring(7)
  }
}


videocard теперь в самом объекте

----
а массив не заменяется, просто берется тот который в прототипе.
Ответить с цитированием