Objetos, Propriedades e Métodos
Objetos
Um objeto é um conjunto/coleção de dados e propriedades, ou seja, ele pode ser uma variável e todas as suas características.
let pizza = {
sabor: "Calabresa",
tamanho: "Grande",
borda: "Catupiry"
};
Essa maneira de criar objetos se chama Object Literal, onde o valor e os atributos da variável é colocado dentro de um conjunto de chaves, separados por vírgula.
Outro método utilizado na criação de um objeto é com a palavra-chave new e o Construtor de Objeto.
let pizza = new Object();
pizza.sabor = "Calabresa";
pizza.tamanho = "Grande";
pizza.borda = "Catupiry";
Também é possível criar um objeto a partir de uma Função Construtora. Com esse tipo de construção, é possível criar diversos outros objetos do mesmo tipo.
function Pizza(sabor, tamanho, borda) {
this.sabor = sabor;
this.tamanho = tamanho;
this.borda = borda;
}
let pizzaSalgada = new Pizza("Calabresa", "Grande", "Catupiry");
let pizzaDoce = new Pizza ("Brigadeiro", "Broto", "Chocolate");
Objetos Embutidos
Também chamados objetos nativos, podem ser atribuídos ao qualquer objeto criado sem a necessidade de uma configuração prévia, uma vez que já fazem parte da linguagem.
-
Math
efetua operações matemáticas em objetos no tiponumber
. É possível atribuir propriedades e métodos ao objetoMath
.-
Math.round(inteiro.decimal);
arredonda números decimais, separados por.
ao invés de vírgula. Retorna o número inteiro mais próximo.Math.round(.);
-
Math.ceil(inteiro.decimal);
arredonda o número sempre para cima, mesmo que a casa decimal seja menor que n.5.Math.ceil(.);
-
Math.floor(inteiro.decimal);
arredonda o número sempre para baixo, mesmo que a casa decimal seja maior que n.5.Math.floor(.);
-
Math.pow(, );
eleva o primeiro número entre parênteses a potência definida no segundo número (separados por vírgula). -
Math.sqrt();
retorna a raiz quadrada. -
Math.random();
retorna um número (pseudo) aleatório entre 0 e 1, com casas decimais.É possível utilizar métodos em conjunto. No exemplo acima foi utilizado o método
Math.random().toFixed(5)
para retornar apenas 5 casas decimais, contudo métodotoFixed()
retorna uma string, é possível converte-la através do métodoNumber()
.Também podemos usar métodos de arredondamento e operadores aritméticos para configurar o método random. Por exemplo:
Math.ceil(Math.random() * 10);
Nesse exemplo, utilizamos o
Math.ceil()
para arredondar o resultado para cima e o operador*
para definir um teto. Também é possível utilizarMath.floor()
, mas nesse caso, seria necessário adicionar também e o operador+1
para configurar em qual número deve começar. De qualquer forma, o resultado retornado deve ser um número inteiro de 1 a 10. - Lista completa de métodos e propriedades do objeto Math – W3Schools.
-
Date
é utilizado quando se trabalha com datas e horas. É possível atribuir métodos ao objeto Date.O construtor desse objeto consiste na palavra chave
new
e o métodoDate()
.Date()
sem demais configurações, retorna a data atual completa, com dia da semana, mês, dia, ano, horário (com horas, minutos e segundos) e fuso horário.let data = new Date();
console.log(`Hoje é ${data}´);
Date("ano-mês-dia")
retorna uma data fixa. O resultado, como no exemplo anterior, é uma data completa.let data = new Date("Ano-Mês-Dia");
Selecione uma data:
getDate()
retorna o dia do mês, seja da data atual ou da data configurada através de uma string.const data = newDate();
let dia = data.getDate();
console.log(`Hoje é dia ${dia}!´);getDay()
retorna o dia da semana, de 0 a 6, sendo zero, o domingo e 6, o sábado.- Domingo
- Segunda
- Terça
- Quarta
- Quinta
- Sexta
- Sábado
const data = new Date();
let diaSemana = data.getDay();
console.log(`Hoje é dia ${diaSemana}!´);É possível configurar variáveis e atribuir identificadores aos dias de acordo com seus respectivos nomes através de declarações condicionais. No exemplo abaixo é usado o método
switch
.> Como funcionam as condições.
switch(diaSemana) {
case 0: var nomeDoDia = "Domingo";
break
case 1: var nomeDoDia = "Segunda-Feira";
break
case 2: var nomeDoDia = "Terça-Feira";
break
case 3: var nomeDoDia = "Quarta-Feira";
break case 4: var nomeDoDia = "Quinta-Feira";
break
case 5: var nomeDoDia = "Sexta-Feira";
break
case 6: var nomeDoDia = "Sábado";
break
}
console.log(`Hoje é ${nomeDoDia}!´);
getMonth()
retorna o mês, de 0 a 11.Assim como os dias da semana, também podem ser nomeados através de condicionais.
- Janeiro
- Fevereiro
- Março
- Abril
- Maio
- Junho
- Julho
- Agosto
- Setembro
- Outubro
- Novembro
- Dezembro
+1
para retornar o mês exato segundo o calendário.-
getFullYear()
retorna o ano completo, com 4 digítos. -
getHours()
retorna as horas, de 0 a 23. getMinutes()
retorna os minutos, de 0 a 59.const dataAll = new Date();
let dia = dataAll.getDate();
let mes = dataAll.getMonth()+1;
let ano = dataAll.getFullYear();
let hora = dataAll.getHours();
let minutos = dataAll.getMinutes();
console.log(`Hoje é dia ${dia} de ${mes} de ${ano}. São ${hora} horas e ${minutos} minutos!´);
- Lista completa de métodos de data e hora – W3Schools
Propriedades
As propriedades, como visto acima, são as características/atributos de um objeto. As propriedades são constituídas de um nome (também chamado de chave) e um valor, podendo ser qualquer tipo de dado JavaScript, como um string, número e até uma função (nesse caso o valor passa a se chamar método).
Como acessar propriedades
Modo 1
let pizza = {
sabor: "calabresa",
tamanho: "grande",
borda: "catupiry"
};
console.log("Gostaria de pedir uma pizza " + pizza.tamanho + " de " + pizza.sabor + " com borda de " + pizza.borda + ".");
Modo 2
let pizza = {
sabor: "brigadeiro",
tamanho: "broto",
borda: "doce de leite"
};
console.log("E também uma " + pizza[tamanho] + " de " + pizza[sabor] + " com borda de " + pizza[borda] + ".");
Nessas duas maneiras de acessar propriedades, é possível também utilizar o template string para concatenar as informações.
`Minha pizza preferida é de ${pizza.sabor"}.´
`Eu não gosto de pizza de ${pizza["sabor"]}.´
Métodos
Métodos são ações que podem ser realizadas nas strings, ou também propriedades do objeto em forma de função.
Podemos dizer que a estrutura de um método é igual ao de uma propriedade, a única diferença é a existência dos parênteses junto ao valor, que o define como uma função.
let pizza = {
sabor: "calabresa",
tamanho: "grande",
borda: "catupiry"
fazerPedido: function() {
return "Olá! Quero pedir uma pizza de " + pizza.sabor + "."
}
};
O JavaScript possui também alguns métodos primitivos, que podem retornar características das strings ou modificá-las (criando uma nova string, sem alterar a original).
Alguns desses métodos nativos são:
lenght
retorna a quantidade de caracteres em uma string.trim()
retorna a quantidade de caracteres sem os espaços.toUpperCase()
converte o texto para letras maiúsculas.toLowerCase()
converte o texto para letras minúsculas.repeat()
retorna a quantidade definida de cópias da string.- Lista de métodos de String Primitivos – W3Schools