Embora seja uma linguagem fracamente tipada, com o passar do tempo o JavaScript vem ganhando cada vez mais melhorias e funcionalidades. A tipagem desta linguagem facilita a manipulação de suas variáveis e objetos, visto que estes podem ser criados dinamicamente em tempo de execução.
Na maioria das linguagens orientadas a objeto, como Java/C#/C++, o processo de criação de objetos consiste em definir, criar e instanciar uma classe.
Com o JavaScript não é muito diferente! A vantagem deve-se ao fato de o JavaScript não precisar ser compilado antes da interpretação do script.
Caso fôssemos criar um objeto "Pessoa", utilizando a linguagem C# por exemplo, o código fonte seria algo mais ou menos assim:
public class Pessoa { public string Nome { get; set; } public int Idade { get; set; } }No caso do JavaScript, a implementação desta classe poderia ser feita (de modo simplista), da seguinte maneira:
var pessoa = { Nome: "" , Idade: 0 };
Devido ao JavaScript ser fracamente tipado, os campos/propriedades da minha classe "pessoa", são inicializados para que os mesmos "assumam" um tipo.
No caso da classe C#, os tipos são pré definidos no momento da criação da classe. Para acessar um atributo de minha classe "Pessoa", é necessário primeiramente instanciar a classe e efetuar a chamada através do objeto "p" criado:
Pessoa p = new Pessoa(); //Acesso e imprimo o atributo nome do meu objeto "p" Console.WriteLine(p.Nome);
Já para o JavaScript, existem outras maneiras de se acessar as propriedades de objetos, chamadas também de notações. Abaixo demonstro duas delas:
1 - Sintaxe de ponto (dot notation):
A propriedade é acessada assim como no C#, objeto.propriedade:
pessoa.nome = "Bruno";2 - Sintaxe de colchetes (bracket notation):
O acesso a propriedade do objeto lembra o acesso a valores em matrizes, objeto["propriedade"]:
pessoa["nome"] = "Bruno";
Outro ponto interessante que faz do JavaScript uma linguagem poderosa, é o fato de se poder criar propriedades para objetos existentes em tempo de execução. Nosso objeto "pessoa" até o momento possuia duas propriedades: "nome" e "idade". Caso seja necessário acrescentar uma nova propriedade a este objeto, como por exemplo "peso", basta "acessar a nova propriedade":
pessoa.peso = 70;
Feito isso, o objeto "pessoa", passa a ter também a propriedade peso. Incrível, não? Para quem desejar se aprofundar mais, encontrei um link interessante bem aqui
Nenhum comentário:
Postar um comentário