Desenvolvimento - Javascript

JavaScript - Objetos e Propriedades

Em uma função javaScript podemos ter a definição de um objeto, com suas características e finalidades, sendo essa função um protótipo desse objeto, ou ainda o método construtor de uma classe, comparando-se ao java...

por Manoel M. Alves S. Jr



Olá pessoal, agradeço desde já o voto de confiança por parte do responsável pelo linhadecodigo e pelo espaço nessa nova coluna.

Vamos falar sobre um assunto bem interessante e que muitos desconhecem o conceitual dessa poderosa linguagem, onde muitas vezes nos limitamos a ser apenas ctrl+c"s e ctrl+v"s de códigos-fonte.

JavaScript - Objetos e Propriedades

Nem precisava falar sobre a utilização dessa tão usada linguagem de scripts, desde controle de formulários web a jogos multimidias, o js marca presença, já vi um jogo de futebol todo feito com ela, pena que o site (www.javascript-games.org) não esteja mais no ar, claro que não era nenhum World cup, mas dava pra passar o tempo com ele, se não tivesse coisa melhor pra fazer.

Agora deixando de papo fiado, vamos ao que interessa:

Em uma função javaScript podemos ter a definição de um objeto, com suas características e finalidades, sendo essa função um protótipo desse objeto, ou ainda o método construtor de uma classe, comparando-se ao java.

O conceito de objeto é bem compreensível para o ser humano, mas resolvi usar o exemplo de uma cadeira pra facilitar nosso entendimento:

Cadeira possui tamanho, cor, material de que é feita, se tem rodas, se é giratória etc.. Já a finalidade da cadeira tb nao preciso dizer,(eu a uso pra sentar, rsrs) então o objeto cadeira possui caracteristicas(propriedades) e finalidades.

Você acessa a propriedade de um objeto com a seguinte notação:

nomeObjeto.nomePropriedade

Ambas são case sensitive, por exemplo, o objeto cadeira (supondo que o objeto já exista), você pode dar propriedades a ele como cor, modelo, ano:

cadeira.cor = "azul";
cadeira.modelo = "giratoria";
cadeira.ano = "2004";

Em js as propriedades e Arrays estão relacionados, por exemplo, podemos acessar as propriedades do nosso objeto cadeira da sequinte maneira:

cadeira["cor"] = "azul"
cadeira["modelo"] = "giratoria"

Para a galera php isso é bem conhecido, aqui esse tipo de array é chamado de array associativo porque cada index do elemento está associado ao valor da string.

Vamos criar o objeto cadeira:

function cadeira(cor,modelo,ano){
/* o this determina os valores da propriedade do objeto baseado no valor passado como argumento
*/	
	this.cor = cor;
	this.modelo = modelo;
	this.ano = ano;
}

para instanciar o objeto cadeira:

minhaCadeira = new cadeira("verde","rodas","2003");

Para acessar alguma propriedade, teste:

alert(minhaCadeira.cor );
alert(minhaCadeira.modelo);
alert(minhaCadeira.ano);

Podemos ao invés de usar um função construtora como acima para construir um objeto, usar um inicializador de objeto, como abaixo:

cadeira = {cor:"azul", modelo:"giratoria", ano: 2004}

Podemos tambem usar os inicalizadores de objetos para construir arrays literais.

O legal do javascript é que você pode adicionar e/ou excluir propriedades em tempo de execução tornando a programação bem dinâmica, para adicionar e excluir uma propriedade por exemplo de um objeto previamente definido:

cadeira.preco = 42;
delete cadeira.cor ;

faça o teste agora e notará que qualquer tentativa de acessar um valor da propriedade cor retornará undefined, pois esta propriedade foi excluida.

Em javascript podemos usar objetos com heranças de outros objetos:

function Objcadeira(cor,modelo,ano){
	this.cor = "azul";
	this.modelo = modelo;
	this.ano = ano;
}
function Herdei(){
         this.outrapropriedade = null;
				 
}
Herdei.prototype = new Objcadeira;

teste = new Herdei;
alert(teste.cor);

Isso não é o todo conceitual do javascript mas com isso dá pra ter uma noção melhor de como utilizar todo poder que a linguagem oferece.

Bem pessoal espero que vocês tenham gostado e que não fique apenas aqui esse até a próxima!!

Um grande abraço,

Manoel M. Alves S. Jr
junmanoel@pop.com.br

Manoel M. Alves S. Jr

Manoel M. Alves S. Jr - Trabalho com aplicações para web. Atualmente cria aplicações em java para uma das maiores indústrias de produção de áçucar e alcool do Brasil.