Почему такое отображение в консоли?

316
29 октября 2017, 21:01

1: Создал объект через конструктор и заменил свойство constructor в прототипе.

function Test(){ 
  this.test = 0; 
} 
 
function One(){ 
  this.one = 1; 
} 
 
function Two(){ 
  this.two = 2; 
} 
 
One.prototype.constructor = Test; 
 
var a = new One; 
 
console.log(a);

Имя объекта по прежнему наследуется от конструктора One. А теперь кое что изменим.

2: Теперь мы переменную a поместим в свойство prototype другому конструктору.

function Test(){ 
  this.test = 0; 
} 
 
function One(){ 
  this.one = 1; 
} 
 
function Two(){ 
  this.two = 2; 
} 
 
One.prototype.constructor = Test; 
 
var a = new One; 
 
Two.prototype = a; 
 
console.log(a);

Здесь видно что имя объекта поменялась на конструктор Test в свойстве constructor, который находиться в прототипе.

3: Еще я заметил, что если создать объект через конструктор в прототип объекта, то он будет менять свое имя относительно своего свойства constructor, но если создать просто как объект в переменную, то почему - то свойства constructor в его прототипе ни как на него не повлияет (самый первый пример этому свидетельствует).

function Test(){ 
  this.test = 0; 
} 
 
function One(){ 
  this.one = 1; 
} 
 
function Two(){ 
  this.two = 2; 
} 
 
function Three(){ 
  this.three = 3; 
} 
 
function Four(){ 
  this.Four = 3; 
} 
 
One.prototype = new Test; 
 
var a = new One; 
 
a.__proto__.__proto__.constructor = Two; 
 
console.log(a.__proto__.__proto__ == Test.prototype); 
 
console.log(a);

P.S: 1: Заметил закономерность, что как только объект созданный через конструктор становиться чьим - то прототипом, то его имя будет меняться относительно его свойства constructor в прототипе.

Как только мы объект созданный через конструктор поместили в чей - то прототип, то имя объекта в переменной сразу же начало меняться.

2: В это примере оно меняется сразу, ибо создан в прототип другого объекта.

Резюмирую: Это может быть багом консоли или я что - то не понимаю?

READ ALSO
Что делает эта строка?

Что делает эта строка?

Хотел бы узнать, что делает эта строка в условии if? Заранее больше спасибо за ответ :)

238
WP: кастомный поиск, передавать дополнительный параметр

WP: кастомный поиск, передавать дополнительный параметр

Задача: реализовать два поиска на одной странице, один поиск ищет в одном типе записей, другой во всех остальных, кроме первогоИспользовать...

304
Joomla 3. Анонсы со ссылками на категорию

Joomla 3. Анонсы со ссылками на категорию

На главной странице у меня небольшой блок, в котором 7 пунктов слева, и справа краткое описание каждого материала с кнопкой "подробнее", через...

320
Токен в ВК для обработки на сервере

Токен в ВК для обработки на сервере

Хочу написать скрипт, который на сайте работает с сообщениями в ВК, выводит сообщения там, составляет статистикуНо проблема в том, что я никак...

349