Métodos de Objetos
Métodos são ações que podem ser aplicadas a um objeto. Para criar métodos, basta associarmos uma função a uma propriedade do objeto, que então não será mais uma propriedade e sim um método. Dentro desta função podemos usar a keyword this para referenciar o próprio objeto que contém este método.
var aluno = {
'nome': 'Maria',
'sobrenome': 'Pereira',
'nome_completo': function() {
var nomeCompleto = this.nome + ' ' + this.sobrenome;
return nomeCompleto;
}
}
console.log(aluno.nome_completo());
Algumas observações importantes:
- Note que escrevemos a função de maneira diferente, neste caso ela não recebe um nome após a keyword function. Em vez disso, a função é invocada pelo nome do método, nome_completo.
- Para invocar métodos de objetos temos que usar a notação com ponto. não podemos usar, por exemplo, aluno[nome_completo()]
Sabia que quase tudo em Javascript é objeto?
Javascript é uma linguagem orientada a objetos e trata quase tudo como objeto. Objetos, Arrays, Funções e tudo que não faça parte dos tipos de dados primitivos, são tratados como objeto. Strings e Números, apesar de serem primitivos, podem ter métodos e outras características de objetos. O funcionamento por trás disso tem a ver com classes e protótipos que fazem parte da estrutura da linguagem Javascript. Estes assuntos serão abordados em um outro momento, mas é importante ter essa noção agora, para começar a entender por que muitas vezes estávamos usando esta notação de ponto seguido de parênteses. Vamos relembrar algumas das vezes em que nós fizemos isso:
console.log('Hello World'); // log é um método do objeto console
Math.round(2.7); // round é um método do objeto Math
var num = 3;
var num_string = num.toString(); // toString é um método que pode ser aplicado a qualquer tipo de dados.
var conteudo_caixa = document.getElementById("caixa_azul").innerHTML; // getElementById é um método do objeto document.
// innerHTML é propriedade do objeto que o método getElementById retorna.
var cursos = [ "HTML", "Python", "PHP" ];
cursos.push("Javascript"); // push é um método que pode ser aplicado em arrays.
Este assunto de objetos em Javascript é fascinante e teremos tempo para abordá-lo com mais profundidade.