POJO - Plain Old JavaScript Object
POJO (termo emprestado da linguagem Java) em JavaScript é um um "objeto JavaScript puro", sem mágica, sem herança, sem comportamento espcial. Apenas dados simples. Em JavaScript, um objeto é um armazenamento de dados chave-valor.
Declarando um objeto vazio:
let o1 = {};
let o2 = new Object();
Atribuindo uma propriedade e valor ao objeto criado.
o1.name = "Whiskey";
o1["name"] = "Whiskey";
Criando um objeto com propriedades:
const pet = {
species: "Dog",
name: "Antônio",
age: 3
};
No console do navegador:
typeof pet // retorna 'object'
Com a chave, recuperamos o valor.
pet.name // retorna 'Antônio'
pet["name"] // retorna 'Antônio'
Qual a diferença entre a sintaxe "object.key" e "object["key"]?
A segunda sintaxe permite trabalhar com expressões. Por exemplo:
const key = "species".
No console do navegador:
pet["species"] // Retorna 'Dog'
pet.key // retorna undefined
Propriedades que não existem, são avaliadas como undefined, ao contrário de outras línguas como C# ou Java, por exemplo, que irão lançar uma excessão (erro). Exemplo:
pet["color"] // retorna undefined
Todas os nome de chave serão transformados em strings (stringified em inglês). Exemplo:
pet[1] = "hello";
pet["1"] = "goodbye";
No console do navegador:
pet[1]; // retorna "goodbye"
Isso significa que não importa o que eu digite na chave, ela sempre é transformada em string.
No objeto posso inserir arrays, outros objetos aninhados, funções:
pet.friends = [];
No console do navegador:
> pet
< {species: 'Dog', name: 'Antônio', age: 3, frieds: Array(0)}
Adicionando uma função:
antonio.bark = function() { return "Woof Woof!" };
antonio.bark(); // retorna Woof Woof!
Top comments (0)