Prévia do material em texto
JS JavaScript: finalmente Características Tipagem dinâmica e fraca Orientada a objetos Baseada em protótipos Interpretada (e não compilada) Tipagem dinâmica Linguagens com tipagem estática não permitem ao desenvolvedor alterar o tipo da variável depois de declarada (é necessário declarar o tipo de dado) Na tipagem dinâmica, a própria linguagem escolhe o tipo de dado de acordo com o valor atribuído à variável em tempo de execução (não é necessário, portanto, declarar o tipo do dado) Cuidado! Tanto a tipagem estática quanto a dinâmica possuem tipos de variáveis. A distinção entre elas reside na capacidade de determinar o tipo automaticamente Tipagem dinâmica Tipagem fraca Linguagens com tipagem fraca são capazes de converter tipos de dados automaticamente Programação Orientada a Objetos Paradigmas de programação: são os modos de se estruturar, organizar e criar uma linguagem de programação – são os diferentes jeitos de programar Programação estruturada: é o paradigma clássico, em que o programa é composto por uma sequência de estruturas (comandos, if, for, etc.) que definem uma rotina que processa uma certa entrada – há um fluxo muito bem definido Programação Orientada a Objetos (POO): surgiu como uma alternativa à programação estruturada; aproxima o manuseio das estruturas de um programa ao manuseio das coisas do mundo real – daí o nome objeto Programação Orientada a Objetos Analogia: comprei um carro! Meu carro possui várias características (atributos) como 4 rodas, 4 portas, faróis e motor, e possui vários comportamentos (métodos) como acelerar, frear e buzinar – dizemos que meu carro é um objeto Quando comprei meu carro, existiam vários outros similares, também com 4 rodas, 4 portas, faróis e motor, e que também aceleravam, freavam e buzinavam. Na verdade, o meu carro pertence a uma classe ‘carros’ Uma classe é um conjunto de características e comportamentos que definem o conjunto de objetos pertencentes à essa classe. Classes e Objetos – Encapsulamento Meu carro tem várias ações (métodos) e características (atributos), e existe um detalhe importante na modificação delas na criação (instanciação) de um objeto. Certos métodos da minha classe ‘carro’ podem ser modificados na criação do meu carro, como o som da buzina. Outros, entretanto, como sua aceleração, não Dizemos, nesse caso, que a aceleração é um método privado, ou que está encapsulada e não é visível por fora do objeto – somente acontece. O carro acelera, e ponto Portanto, nem todos os métodos e atributos são acessíveis publicamente, mas somente aqueles que não descaracterizam sua classe Classes e Objetos – Herança Meu carro aceita apenas álcool. Esse modelo possui outra versão, que aceita álcool e gasolina. A classe dessa outra versão herdou os atributos e métodos da classe do meu carro, somente entendendo-os Podemos dizer que existe uma classe ‘automóveis’, definida por acelerar, ter rodas e buzinar. As classes ‘carros’ e ‘motos’ herdam as características de ‘automóveis’, mas adicionam particularidades que definem sua própria classe Protótipos são o mecanismo pelo qual ocorre a herança entre objetos Introdução ao JavaScript É uma linguagem de programação orientada a objetos Extensão dos arquivos: .js (por exemplo: index.js é um arquivo javascript) JavaScript ≠ Java (não têm nenhuma relação) É a terceira camada da web. Toda vez que uma página faz mais do que simplesmente mostrar uma informação estática, mostrando conteúdos que se atualizam, mapas interativos, conteúdos animados, interação com o usuário, etc., provavelmente JavaScript está envolvido Node O Node.js é um interpretador de JavaScript que possibilita trabalharmos com a linguagem fora do ambiente web Prática!