Skip to content

Latest commit

 

History

History
145 lines (108 loc) · 3.36 KB

05-pt.md

File metadata and controls

145 lines (108 loc) · 3.36 KB

Objetos

Objetos em JavaScript podem ser entendidos como representações de objetos na vida real, pois possuem características (propriedade) e são capazes de realizar ações (métodos).

Por exemplo

Objeto: usuário de uma aplicação web Propriedade: email, nome de usuario e idade Ações: método de login, método de logout

Objetos possibilitam criar estruturas de dados que representam certos elementos do nosso código ou das nossas aplicações web. O JavaScript também tem alguns objetos acoplados nele (por exemplo, date ou math). Para criar objetos eles podem ser feitos de diversas formas.

Objetos literais

Para criar um objeto literal, utilizamos chaves, e dentro dessas chaves temos propriedades.

let user = {
  name: 'João',
  age: 31,
  email: '[email protected]'
  blogPosts: ['Meu primeiro post', 'My segundo post']
}

Para acessar as propriedades, podemos utilizar a notação de ponto ou colchetes

user.name
// João

user[name]
// João

Para modificar valores, basta subscrever as propriedades

user.name = 'José'
user[name] = 'Juan'

Para adicionar ações (métodos), é criada uma propriedade que armazena uma função. Para acessar a propriedade é preciso invocar esta propriedade com () (tal qual qualquer outra função).

let user = {
  login: function() {
    console.log('Usuário logado')
  }
}

user.login()

Objetos em Arrays

Armazenar objetos dentro de arrays é algo possível e comum. É provável quando obtendo dados de uma API ou banco de dados, que siga o formato de array com objetos.

let user = {
  name: 'João',
  blogPosts: [
    { title: 'Sopa de Abóbora', likes: 30 },
    { title: '4 receitas de purê de batata', likes: 45 }
  ],
  logBlogPosts () {
    this.blogPosts.forEach(post => {
      console.log(post.title, post.likes)
    })
  }
}

user.logBlogPosts()

// Sopa de Abóbora 30
// 4 receitas de purê de batata 45

Objeto Math

O Objeto Math é um dos vários objetos embutidos da linguagem, que já possui uma série de métodos e propriedades.

Exemplos de propriedade

console.log(Math.PI)
console.log(Math.E)

// 3.141592653589793
// 2.718281828459045

Exemplos de métodos

Para arredondar o número utilizando a forma padrão ( se a casa decimal for até .4, arendonda para baixo, se a casa decimal for .5 e maior arrendonda para cima) podemos usar Math.round():

const roundNumber = 7.7

console.log(Math.round(roundNumber))

// 8

Para arredondar o número para baixo podemos usar Math.floor()

const roundDown = 5.9

console.log(Math.floor(roundDown))

// 5

Para arredondar o número para cima podemos usar Math.ceil():

const roundUp = 3.2

console.log(Math.ceil(roundUp))

// 4

Para remover a parte decimal e retornar o numero inteiro podemos usar Math.trunc():

const roundInteger = 8.8

console.log(Math.trunc(roundInteger))

// 8

Para gerar um número aleatório entre 0 e 1 podemos usar Math.random():

const randomNumber = Math.random()

Sintaxe do "Destructuring Assignment"

Destructuring Assignment é uma expressão que possibilita atribuir, para variáveis, cópias de items de um array ou valores de um objeto.

const obj = {
  prop1: a,
  prop2: b,
  prop3: c
}

const { prop1, prop2 } = obj

prop1 // a
prop2 // b

Mais informações nessa thread.