Logo Passei Direto
Buscar

Características do JavaScript

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

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!

Mais conteúdos dessa disciplina