# Atribuir com heranca

Atribui propriedades proprias e herdadas com lodash _.assignIn

> Página canônica: https://elysiatools.com/pt/tools/assign-in-object

- **Categoria:** Data Processing

- **Palavras-chave:** assignIn, objeto, lodash, mesclar, propriedades

## Visão geral

Atribui propriedades enumeraveis proprias e herdadas das fontes ao alvo.

**Destaques:**
- Usa lodash `_.assignIn`
- Inclui propriedades enumeraveis herdadas
- Fontes posteriores sobrescrevem as anteriores

**Exemplo:**
- Alvo: `{"a":1}`
- Fonte 1: `{"b":2}`
- Fonte 2: `{"a":3}`
- Resultado: `{"a":3,"b":2}`

## Entradas

- **Objeto Alvo** (textarea): Digite o objeto JSON alvo
- **Fonte 1** (textarea): Primeiro objeto fonte
- **Fonte 2** (textarea): Objeto fonte opcional
- **Fonte 3** (textarea): Objeto fonte opcional

## Quando usar

- Quando você precisa consolidar configurações ou dados de várias fontes em um único objeto.
- Ao trabalhar com objetos que possuem propriedades herdadas que precisam ser preservadas ou sobrescritas.
- Para automatizar a mesclagem de estruturas JSON complexas onde a ordem de precedência das fontes é fundamental.

## Como funciona

- Insira o objeto JSON principal no campo 'Objeto Alvo'.
- Adicione os objetos de origem nos campos 'Fonte 1', 'Fonte 2' e 'Fonte 3'.
- A ferramenta processa a mesclagem, onde as propriedades das fontes posteriores sobrescrevem as anteriores.
- O resultado final é gerado contendo todas as propriedades enumeráveis, incluindo as herdadas.

## Casos de uso

- Consolidação de configurações de sistema a partir de múltiplos arquivos de ambiente.
- Atualização de objetos de estado em aplicações JavaScript com herança de protótipo.
- Mesclagem de metadados de diferentes fontes de dados para normalização de registros.

## Perguntas frequentes

### O que a ferramenta faz exatamente?

Ela utiliza a função _.assignIn do lodash para copiar propriedades enumeráveis, próprias e herdadas, de objetos de origem para um objeto alvo.

### As propriedades herdadas são incluídas?

Sim, diferentemente de uma mesclagem comum, esta ferramenta inclui propriedades enumeráveis herdadas na cadeia de protótipos.

### O que acontece se houver chaves duplicadas?

As fontes processadas posteriormente sobrescrevem os valores das chaves que já foram definidas pelas fontes anteriores ou pelo objeto alvo.

### Quantas fontes posso mesclar?

Você pode utilizar o objeto alvo e até três fontes adicionais para realizar a mesclagem.

### Qual é o formato de entrada exigido?

A ferramenta aceita objetos no formato JSON padrão em todos os campos de entrada.

## Ferramentas relacionadas

- [Padroes profundos](https://elysiatools.com/pt/tools/defaults-deep): Aplica valores padrao profundos com lodash _.defaultsDeep
- [Iterar objeto](https://elysiatools.com/pt/tools/for-in-object): Itera propriedades com lodash _.forIn
- [Iterar proprio](https://elysiatools.com/pt/tools/for-own): Itera propriedades proprias com lodash _.forOwn
- [Inverter objeto](https://elysiatools.com/pt/tools/invert-object): Inverte chaves e valores com lodash _.invert
- [Lista de chaves herdadas](https://elysiatools.com/pt/tools/keys-in-list): Lista chaves proprias e herdadas com lodash _.keysIn
- [Lista de chaves](https://elysiatools.com/pt/tools/keys-list): Lista chaves proprias com lodash _.keys
- [Contar por](https://elysiatools.com/pt/tools/count-by): Conta itens por chave derivada com lodash _.countBy
- [Encontrar chave](https://elysiatools.com/pt/tools/find-key): Encontra a primeira chave com lodash _.findKey

## Exemplos

- [Exemplos Avançados de Aplicação Grafana](https://elysiatools.com/pt/samples/grafana-samples): Exemplos compreensivos de Grafana cobrindo design avançado de dashboards, configuração de alertas, integração de fontes de dados e desenvolvimento de plugins
- [Exemplos de Códigos QR](https://elysiatools.com/pt/samples/qrcode-samples): Imagens de código QR de exemplo para testar ferramentas de leitura e geração de código QR
- [Exemplos D3.js Data Visualization](https://elysiatools.com/pt/samples/d3js-data-visualization): Exemplos abrangentes de visualização de dados D3.js incluindo gráficos, mapas, animações e visualizações interativas
- [Exemplos Rome JavaScript Toolchain](https://elysiatools.com/pt/samples/rome): Exemplos de toolchain JavaScript Rome incluindo configuração, linting, formatting, bundling e gerenciamento de projetos
