Skip to content

Latest commit

 

History

History
144 lines (115 loc) · 3.29 KB

File metadata and controls

144 lines (115 loc) · 3.29 KB

Objeto

  • Um objeto é uma coleção dinâmica de propriedades definidas por chaves, que podem ser do tipo String ou Symbol, e valores que podem ser de qualquer tipo de dado.
  • É possível criar objetos de várias formas: pela notação literal, por meio de uma função construtora ou do método create da Object API.
  {};
  
  new Object();
  
  Object.create(null); 
  • Uma das diversas maneiras de atribuir propriedades a um objeto é durante sua inicialização, pela notação literal.
  const book = {
    title: "Clean Code",
    author: "Robert C. Martin",
    pages: 464,
    language: "English",
    available: true
  }
  • Shorthand Notation. Simplificação de variáveis para dentro do Objeto. (ES6)
  • Variável com mesmo nome da chave é possível simplificar:
  const title = "Clean Code";
  const author = "Robert C. Martin";
  const pages = 464;
  const language = "English";
  const available = true;
  
  const book = {
    title,
    author,
    pages,
    language,
    available
  };
  • Cuidado! Dependendo da chave é necessário declará-la diretamente como String.

  • Também é possível computar as chaves em tempo de execução.

  const key1 = "title";
  const key2 = "author";
  const key3 = "pages";
  const key4 = "language";
  const key5 = "available";
  
  const book = {
    [key1] "Clean Code",
    [key2] "Robert C. Martin",
    [key3]: 464,
    [key4]: "English",
    [key5]: true
  };
  • Além da notação literal, é possível atribuir propriedades aos objetos por meio da sua referência.
  const books = {}; 
  books.title = "Clean Code";
  books.author = "Robert C. Martin";
  books.pages = 464;
  books.language = "English";
  books.available = true;  
  • Assim como na notação literal, é possível computar as chaves de um objeto em tempo de execução por meio da sua referência.
  const key1 = "title";
  const key2 = "author";
  const key3 = "pages";
  const key4 = "language";
  const key5 = "available";
  
  const book = {};
  
  books[key1] = "Clean Code";
  books[key2] = "Robert C. Martin";
  books[key3] = 464;
  books[key4] = "English";
  books[key5] = true;  
  • Cada uma das propriedades de um objeto podem ser consultadas por meio da sua referência, de forma direta.
  const book = {
    title: "Clean Code",
    author: "Robert C. Martin",
    pages: 464,
    language: "English",
    available: true
  };

  console.log(book.title);
  console.log(book.pages);
  • É possível consultar cada uma das propriedades de um objeto por meio da computação das chaves. For in para percorrer chaves.

  • Exemplo 1:

  const book = {
    title: "Clean Code",
    author: "Robert C. Martin",
    pages: 464,
    language: "English",
    available: true
  };
  
  for (let key in book) {
    console.log(key); // Imprime todas as Chaves.
    console.log(book[key]) // Imprime todos os Valores.
  };
  • Exemplo 2:
  const book1 = {
    title: "Clean Code",
    author: "Robert C. Martin",
    pages: 464,
    language: "English",
    available: true
  };
  
  const book2 = {};
  
  for (let key in book1) {
    book2[key] = book1[key];
  };
  
  console.log(book2); // book1