-
Notifications
You must be signed in to change notification settings - Fork 0
Objects
Gabriel Fanto Stundner edited this page Apr 26, 2018
·
2 revisions
Retornar |
---|
- As variáveis de Javascript são contâiners para dados.
- Objects são variáveis também mas podem conter vários dados ao mesmo tempo.
- Um object é uma lista de dados que são armazenadas como nome:valor
- Exemplo:
let pessoa = {
nome:"Gabriel",idade:22,
corFavorita:"Preto",altura:176
};
- Propriedades de um objeto são as informações que existem dentro dele
- No exemplo passado temos como propriedades o nome,idade,cor Favorita e altura de uma pessoa
- Podemos acessar essas informações de duas formas
//OPÇÃO 1
nomeObjeto.nomePropriedade;
//EXEMPLO
let pegarNome = pessoa.nome;
//OPÇÃO 2
nomeObjeto[´nomePropriedade´];
//EXEMPLO
let pegarIdade = pessoa[´idade´];
- Podemos usar o método length para conseguir o tamanho da String
- usamos esse método quando chamamos uma propriedade String de um Objeto
let pessoa = {nome:"Pedro"};
document.write(pessoa.nome.length);
- Um método de objeto é uma propriedade que contém a definição de uma função
- Um exemplo que usamos bastante é o document.write(); que usamos para fazer output de informação
- a função write() é na verdade um método do objeto document
- Na lição anterior, nós criamos um objeto com a sintaxe inicializadora do object
let pessoa = {
nome:"John",idade:42,cor:"Preto"
};
//ou
let pessoa = {nome:"John",idade:42,cor:"Preto"};
- Podemos criar um Object type para criarmos um número de objetos do mesmo tipo
- Assim como no java , o Javascript possui funções construtoras de objetos
- Exemplo de um construtor:
function pessoa(nome,idade,corFavorita){
this.nome = nome;
this.idade = idade;
this.corFavorita = corFavorita;
}
- O this serve para pegar os valores de entrada e colocar nas propriedades definidos dentro da função
- todas as entradas e métodos de objetos de dentro da função devem ter esse this.
- Agora tendo a função construtora de novos objetos, podemos iniciar novos objetos
//Função
function pessoa(nome,idade,cor){
this.nome = nome;
this.idade = idade;
this.cor = cor;
}
//Iniciando novos objetos
let p1 = new pessoa("Pedro",21,"Vermelho");
let p2 = new pessoa("Gabriel",22,"Preto");
//saindo informações desejadas dos objetos
document.write(p1.nome); //sai o nome
document.write(p1.idade); //sai a idade
document.write(p1.cor); //sai a cor da informação
document.write(p2.nome);
document.write(p2.idade);
document.write(p2.cor);
- Métodos são funções que guardam as propriedades de um objeto
- dentro da função construtora deve ter o this para dizer que o método é do construtor atual
- Criamos um Objeto de método da seguinte forma:
//criando métodos de objeto dentro de um objeto normal
nomeMetodo:function(...){...}
//ou
nomeMetodo: function(...){
//linhas de código
}
//Se for uma função construtora fazermos da seguinte forma
this.nomeMetodo = function(...){...}
//ou
this.nomeMetodo = function(...){
...
}
//Para chamarmos o método, fazemos como abaixo:
nomeObjeto.nomeMetodo();
- Criando um exemplo completo de como se faz:
//criando o método construtor com o método do objeto internamente
function pessoa(nome,idade,corFavorita){
this.nome;
this.idade;
this.corFavorita;
this.trocarNome = function(nome){
this.nome = nome;
}
}
//iniciando a função construtora de objetos em um objeto
let novo = new pessoa("Gabriel",22,"Preto");
document.write(novo.nome); //saida: Gabriel
novo.trocarNome("Pedro");
document.write(novo.nome); //saida: Pedro
- Podemos criar o método do objeto fora do construtor
- devemos usar o this na propriedade que desejamos pegar de dentro da função construtora
//pegando o exemplo anterior e usando essa nova forma
function pessoa(nome,idade,corFavorita){
this.nome;
this.idade;
this.corFavorita;
this.trocarNome = changeName; //ele vai chamar a função externa changeName
}
function changeName(nome){
this.nome = nome;
}
- Dependendo do método, podemos fazer a saida dele direto
- Esses tipos de método só retornam um valor usando o return
function valores(valor1,valor2){
this.valor1 = valor1;
this.valor2 = valor2;
this.somaValores = sum;
}
function sum(){
return this.valor1 + this.valor2;
}
//teste das funções:
let valor1 = 2;
let valor2 = 3;
let novo = new valores(valor1,valor2);
document.write(novo.somaValores());
Visite o seguinte site para ter toda a matéria de Javascript: