Что означают буквы перед объектами в инструментах Google Chrome dev? - PullRequest
0 голосов
/ 17 марта 2020

Существует вопрос , с которым я столкнулся при поиске, что означают буквы перед объектами в Chrome инструментах разработчика.

В моем случае у меня есть буква m перед переменной $scope в AngularJS. Например:

vm
m {$id: 1520, $$childTail: m, $$childHead: b, $$prevSibling: m, $$nextSibling: null, …}

enter image description here

Итак, приведенный выше вопрос приходит к следующему выводу:

Это название конструктора, используемого для создания объекта модели.

Этот вывод вызывает несколько вопросов. Я считаю, что они тесно связаны друг с другом, поэтому я решил создать для них один вопрос.

  1. В чем разница между обычным объектом JS и объектом модели ?

  2. В чем разница между обычным JS конструктором объекта и конструктором объекта модели?

  3. Почему Chrome решил добавить буквы для объектов модели, но решил не делать этого для обычных JS объектов?

ОБНОВЛЕНИЕ

После первого комментария к вопросу я решил попробовать следующий пример:

function A() {}
 *undefined*
new A()
 *A {}*
{}
 *{}*

enter image description here

Это помогло мне понять, что буква, предшествующая объекту, является просто именем конструктора. Правильно ли мое понимание?

...