0% acharam este documento útil (0 voto)
25 visualizações9 páginas

Guia Completo Sobre Objetos em JavaScript

Objetos são um dos conceitos centrais e mais poderosos de JavaScript. Eles permitem armazenar coleções de dados e mais complexamente representar entidades do mundo real em seu código. Neste guia, vamos explorar a fundo como criar, manipular e usar objetos em JavaScript, abordando desde a declaração básica até funcionalidades mais avançadas. Se você está começando com JavaScript ou quer aprimorar seu entendimento sobre objetos, esta documentação servirá como um recurso completo.

Enviado por

Jonathan Mild
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
25 visualizações9 páginas

Guia Completo Sobre Objetos em JavaScript

Objetos são um dos conceitos centrais e mais poderosos de JavaScript. Eles permitem armazenar coleções de dados e mais complexamente representar entidades do mundo real em seu código. Neste guia, vamos explorar a fundo como criar, manipular e usar objetos em JavaScript, abordando desde a declaração básica até funcionalidades mais avançadas. Se você está começando com JavaScript ou quer aprimorar seu entendimento sobre objetos, esta documentação servirá como um recurso completo.

Enviado por

Jonathan Mild
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 9

Guia Completo sobre Objetos em JavaScript

Introdução

Objetos são um dos conceitos centrais e mais poderosos de JavaScript. Eles permitem
armazenar coleções de dados e mais complexamente representar entidades do mundo real
em seu código. Neste guia, vamos explorar a fundo como criar, manipular e usar objetos em
JavaScript, abordando desde a declaração básica até funcionalidades mais avançadas. Se
você está começando com JavaScript ou quer aprimorar seu entendimento sobre objetos,
esta documentação servirá como um recurso completo.

Capítulo 1: O Que São Objetos em JavaScript?

Objetos em JavaScript são coleções de pares chave-valor. Eles são usados para armazenar
múltiplos valores e para estruturar dados de forma organizada. Enquanto arrays são ótimos
para listas ordenadas de dados, objetos são ideais para representar coisas com
características e propriedades.

1.1 Estrutura Básica dos Objetos

Um objeto em JavaScript é criado usando chaves {} e os dados são armazenados em


pares chave-valor.

const pessoa = {
nome: 'João',
idade: 30,
profissao: 'Desenvolvedor'
};

Neste exemplo, pessoa é um objeto com três propriedades: nome , idade , e profissao .
As chaves ( nome , idade , profissao ) são as propriedades do objeto, e os valores
( 'João' , 30 , 'Desenvolvedor' ) são os dados associados.

1.2 Criando Objetos

Existem diversas maneiras de criar objetos em JavaScript, mas as duas formas mais
comuns são usando a notação literal e o construtor new Object() .

Notação Literal
A forma mais direta e comum de criar um objeto é usando a notação literal, onde se define o
objeto diretamente.

const carro = {
marca: 'Toyota',
modelo: 'Corolla',
ano: 2020
};

Construtor new Object()

Outra forma de criar objetos é usando o construtor Object() , que é menos comum, mas
ainda útil em certos contextos.

const livro = new Object();


livro.titulo = 'O Senhor dos Anéis';
livro.autor = 'J.R.R. Tolkien';
livro.ano = 1954;

1.3 Acessando Propriedades de Objetos

Propriedades de objetos podem ser acessadas de duas formas: usando a notação de ponto
( . ) ou a notação de colchetes ( [] ).

Notação de Ponto

Esta é a forma mais comum e legível para acessar propriedades.

console.log(pessoa.nome); // 'João'

Notação de Colchetes

Útil quando a chave é dinâmica ou não é um identificador válido.

console.log(pessoa['idade']); // 30

Você pode usar variáveis para acessar propriedades com colchetes:

let chave = 'profissao';


console.log(pessoa[chave]); // 'Desenvolvedor'
Capítulo 2: Manipulação de Objetos

Manipular objetos é essencial em JavaScript, e isso inclui adicionar, modificar e deletar


propriedades.

2.1 Adicionando Propriedades

Propriedades podem ser adicionadas a qualquer momento, mesmo depois que o objeto foi
criado.

pessoa.altura = 1.75;
console.log(pessoa); // { nome: 'João', idade: 30, profissao: 'Desenvolved

2.2 Modificando Propriedades

Para modificar uma propriedade, basta reatribuir um novo valor a ela.

pessoa.idade = 31;
console.log(pessoa.idade); // 31

2.3 Deletando Propriedades

Para remover uma propriedade, use o operador delete .

delete pessoa.profissao;
console.log(pessoa); // { nome: 'João', idade: 31, altura: 1.75 }

2.4 Comparando Objetos

Objetos são comparados por referência, não por valor. Isso significa que mesmo que dois
objetos tenham as mesmas propriedades e valores, eles não serão considerados iguais.

const obj1 = { a: 1 };
const obj2 = { a: 1 };

console.log(obj1 === obj2); // false

Capítulo 3: Métodos de Objetos

Métodos são funções associadas a um objeto. Eles permitem que objetos realizem ações
com seus próprios dados.
3.1 Criando Métodos

Um método é uma função atribuída a uma propriedade do objeto.

const calculadora = {
somar: function (a, b) {
return a + b;
},
subtrair(a, b) {
return a - b;
}
};

console.log(calculadora.somar(2, 3)); // 5
console.log(calculadora.subtrair(5, 2)); // 3

3.2 this em Métodos

Dentro de métodos, this refere-se ao próprio objeto, permitindo acessar suas


propriedades e outros métodos.

const cachorro = {
nome: 'Rex',
latir() {
console.log(`${this.nome} está latindo!`);
}
};

cachorro.latir(); // 'Rex está latindo!'

3.3 Vantagens dos Métodos

Encapsulamento: Agrupa funcionalidades relacionadas dentro do objeto.


Reutilização: Permite reutilizar código dentro do contexto do objeto.
Legibilidade: Torna o código mais organizado e intuitivo.

Capítulo 4: Clonando e Mesclando Objetos

Objetos podem ser clonados e mesclados usando várias técnicas, como Object.assign() ,
o spread operator ( ... ), e outras.

4.1 Clonando Objetos

Usando Object.assign()
const original = { a: 1, b: 2 };
const copia = Object.assign({}, original);
console.log(copia); // { a: 1, b: 2 }

Usando Spread Operator

O spread operator é uma maneira moderna e sucinta de clonar objetos.

const copiaSpread = { ...original };


console.log(copiaSpread); // { a: 1, b: 2 }

4.2 Mesclando Objetos

Objetos podem ser mesclados combinando várias fontes em um único objeto.

const obj1 = { a: 1 };
const obj2 = { b: 2 };
const mesclado = { ...obj1, ...obj2 };
console.log(mesclado); // { a: 1, b: 2 }

4.3 Cuidado com Referências

Clonagem rasa ( shallow copy ) só copia o primeiro nível do objeto. Se o objeto contém
outros objetos, eles ainda referenciam o mesmo endereço na memória.

const objA = { x: { y: 1 } };
const objB = { ...objA };
objB.x.y = 2;
console.log(objA.x.y); // 2 - Ambos referem ao mesmo objeto interno

Capítulo 5: Object Methods e Propriedades Avançadas

5.1 Object.keys() , Object.values() , e Object.entries()

Esses métodos permitem iterar sobre as chaves, valores e entradas (pares chave-valor) de
um objeto.
const carro = { marca: 'Ford', modelo: 'Fiesta', ano: 2018 };

console.log(Object.keys(carro)); // ['marca', 'modelo', 'ano']


console.log(Object.values(carro)); // ['Ford', 'Fiesta', 2018]
console.log(Object.entries(carro)); // [['marca', 'Ford'], ['modelo', 'Fie

5.2 Object.freeze() e Object.seal()

Object.freeze()

Congela o objeto, impedindo qualquer modificação nas propriedades existentes.

const usuario = { nome: 'Carlos' };


Object.freeze(usuario);
usuario.nome = 'Ana'; // Não tem efeito
console.log(usuario.nome); // 'Carlos'

Object.seal()

Permite modificar propriedades existentes, mas não permite adicionar ou remover


propriedades.

const produto = { nome: 'Celular' };


Object.seal(produto);
produto.nome = 'Tablet'; // Permitido
produto.preco = 2000; // Ignorado
console.log(produto); // { nome: 'Tablet' }

5.3 Definindo Propriedades com Object.defineProperty()

Permite definir propriedades com características específicas, como writable , enumerable


e configurable .
const usuario = {};
Object.defineProperty(usuario, 'idade', {
value: 25,
writable: false, // Não pode ser alterado
enumerable: true, // Aparece em loops
configurable: false // Não pode ser reconfigurado ou deletado
});

console.log(usuario.idade); // 25
usuario.idade = 30; // Ignorado por ser não writable
console.log(usuario.idade); //

25

Capítulo 6: Padrões de Projeto com Objetos

Objetos são a base de muitos padrões de projeto em JavaScript, como Factory ,


Singleton , e Prototype .

6.1 Factory Pattern

Um Factory cria objetos de forma genérica e flexível.

function criarCarro(marca, modelo) {


return {
marca,
modelo,
acelerar() {
console.log(`${this.marca} ${this.modelo} está acelerando.`);
}
};
}

const carro1 = criarCarro('Chevrolet', 'Onix');


const carro2 = criarCarro('Honda', 'Civic');

carro1.acelerar(); // 'Chevrolet Onix está acelerando.'

6.2 Singleton Pattern

Garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global.
const Configuracao = (function () {
let instancia;

function criarInstancia() {
return { modo: 'escuro', volume: 50 };
}

return {
getInstancia() {
if (!instancia) {
instancia = criarInstancia();
}
return instancia;
}
};
})();

const config1 = Configuracao.getInstancia();


const config2 = Configuracao.getInstancia();

console.log(config1 === config2); // true - Ambas referem à mesma instânci

6.3 Prototype Pattern

Protótipos permitem a criação de objetos que compartilham propriedades e métodos


comuns, economizando memória.

function Animal(nome) {
this.nome = nome;
}

Animal.prototype.falar = function () {
console.log(`${this.nome} faz barulho.`);
};

const gato = new Animal('Gato');


gato.falar(); // 'Gato faz barulho.'

Conclusão

Objetos são fundamentais em JavaScript, oferecendo flexibilidade e poder para modelar e


manipular dados complexos. Dominar a criação, manipulação e uso de objetos é essencial
para qualquer desenvolvedor que deseja escrever código eficiente, organizado e
reutilizável. Com este guia, você agora possui um entendimento aprofundado sobre objetos
e pode aplicar esses conceitos em seus projetos para criar soluções robustas e bem
estruturadas.

Você também pode gostar