В JavaScript, если я создаю объект, я понимаю, что это по существу представлено как JSON, и если у этого объекта есть дескриптор его родительского объекта, а у родителя есть дескриптор на дочерний объект, как это хранится в памяти (это указатель? Или дублирование JSON).JSON Tree & Memory Allocation
Например, если я создаю объект Person, как показано ниже, где каждый человек может иметь несколько дочерних элементов, а также иметь дескриптор его родителя.
var Person = function(json, parent) {
this.name = json.name;
this.parent = parent;
this.children = new Array();
if(json.children) {
for(var i=0; i < json.children.length; i++) {
this.children.push(new Person (json. children[i], this));
}
}
Я понимаю, что если я изменить свойство человека, то это будет отражено в человеке, но и Родитель любого из своих детей, так что это будет указывать на реальный объект проводится раз в памяти и JavaScript использует указатели? Правильно ли я об этом думаю?
Я боюсь, что этот тип структуры дорого удерживается в памяти, так как я могу столкнуться с сценарием, где у меня есть несколько тысяч этого типа иерархической конструкции, которая может идти на несколько уровней.
Большое спасибо за ответ, это действительно полезная информация. – Agent96