Em Javascript, os objetos podem ser aninhados, criando uma estrutura hierárquica. No entanto, acessar o objeto pai a partir de um objeto filho aninhado pode ser desafiador.
Considere o seguinte objeto aninhado:
obj: { subObj: { foo: 'hello world' } };
Para referenciar o subobjeto dentro de s, usamos:
var s = obj.subObj;
Agora, queremos obter o objeto pai obj usando s.
Infelizmente, não há mecanismo direto para recuperar o objeto pai de um objeto filho em Javascript. Isso ocorre porque os objetos filhos não têm conhecimento da existência de seus pais.
Solução alternativa
Uma solução alternativa é utilizar uma função para estabelecer um relacionamento pai-filho em objetos aninhados . Estendendo o código acima:
var main = {
name : "main object",
child : {
name : "child object",
parent : null
},
init : function() {
this.child.parent = this;
delete this.init;
return this;
}
}.init();
Na função init, atribuímos o objeto pai à propriedade pai dentro do objeto filho. Ao chamar isso, nos referimos ao objeto atual (ou seja, principal) de dentro do objeto filho aninhado. Por fim, removemos a função init para maior clareza do código.
Usando esta técnica, agora podemos acessar o objeto pai do filho:
main.child.parent.name // returns "main object"
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3