0% acharam este documento útil (0 voto)
481 visualizações50 páginas

Introdução ao JavaScript para Iniciantes

Este documento fornece uma introdução ao JavaScript para iniciantes. Ele discute porque JavaScript é uma linguagem importante de se aprender, destacando sua versatilidade e uso em sites web para dar dinamismo e interatividade. Também aborda os tipos de profissionais que utilizam JavaScript em seu trabalho diário, incluindo desenvolvedores front-end, full stack e cientistas de dados.

Enviado por

Thatiana Moreira
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
481 visualizações50 páginas

Introdução ao JavaScript para Iniciantes

Este documento fornece uma introdução ao JavaScript para iniciantes. Ele discute porque JavaScript é uma linguagem importante de se aprender, destacando sua versatilidade e uso em sites web para dar dinamismo e interatividade. Também aborda os tipos de profissionais que utilizam JavaScript em seu trabalho diário, incluindo desenvolvedores front-end, full stack e cientistas de dados.

Enviado por

Thatiana Moreira
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

JAVASCRIPT

PARA INICIANTES
Do Zero ao Primeiro Código

[Link] A
SUMÁRIO

02 INTRODUÇÃO

03 PARA COMEÇAR: POR QUE É UMA


BOA IDEIA APRENDER JAVASCRIPT?

11 GLOSSÁRIO: UM MERGULHO
NOS TERMOS DA LINGUAGEM

22 PRINCIPAIS FRAMEWORKS

29 INTERAÇÃO DO JAVASCRIPT
COM O DOM

33 EVENTOS EM JAVASCRIPT

38 PRIMEIROS PASSOS ANTES DE


PROGRAMAR

42 MÃO NA MASSA: CRIANDO SEU


PRIMEIRO CÓDIGO
INTRODUÇÃO

O JavaScript é uma linguagem poderosíssima. Une


uma série de aplicações às incríveis vantagens de
usá-la nesses inúmeros contextos. Além disso, está
sempre sendo atualizada, com novas bibliotecas e
frameworks para superar limitações e alcançar maior
versatilidade. Por isso, é obrigatória para quem quer
seguir no front-end e para quem precisa avançar no
mundo full stack.

Apesar de tudo, JavaScript também é uma linguagem


simples. Envolve conhecimentos básicos acerca de
programação e acerca da infraestrutura da internet,
mas uma vez que você já os conhece, tudo fica mais
fácil.

Por isso, que bom que você está lendo este e-book.
Nele, você entenderá quais são esses conceitos fun-
damentais para dar os primeiros passos, como o JS
atua em uma página web, a importância da linguagem
e entenderá na prática como dar esses passos iniciais
com alguns códigos que ensinaremos.

Mostraremos os conceitos-base como um guia, de


uma forma que ajude você a entender o que deve es-
tudar. Depois, mostraremos como fazer. Acompanhe e
aprenda mais sobre essa fascinante tecnologia.

[Link] 02
PARA COMEÇAR:
POR QUE É UMA BOA IDEIA
APRENDER JAVASCRIPT?
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

Vamos começar com uma pergunta: por que


aprender JavaScript? Se existem tantas tecnolo-
gias eficazes no mundo afora, por que focar essa
linguagem?

Responderemos com três tópicos. No primeiro,


abordaremos o que é possível fazer com essa lin-
guagem hoje. Assim, você terá uma visão de sua
versatilidade. No segundo, falaremos sobre a fun-
ção do JS em um site comum. Por fim, falaremos
sobre as oportunidades e o campo de visão para
quem lida com JavaScript no dia a dia.

[Link] 04
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

O QUE VOCÊ
PODE FAZER COM
JAVASCRIPT

A principal função do JS é gerar dinamismo para


uma página web. Considerando um esqueleto já
criado com HTML e CSS, o JavaScript surge para
adicionar uma lógica de programação e dar vida
a uma série de recursos cruciais para o cumpri-
mento dos requisitos.

Inclusive, boa parte dos frameworks e bibliotecas


focam nisso: a parte de apresentação dos sites, o
chamado front-end.

Contudo, JS não para por aí. Ela já é adotada para o


back-end atualmente também, com o framework
[Link]. Assim, ela é usada para lidar com APIs,
autenticar fluxos de informações e outras ações
do lado do servidor.

Também podemos ter JS para testes e para au-


tomação de tarefas—como compactação de
CSS, otimização do site e outros processos im-
portantes. Para a automação, utiliza-se o Gulp,
uma biblioteca específica.

[Link] 05
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

Há registros de aplicações para mobile também,


com desenvolvimento de interfaces responsi-
vas e de aplicações típicas para telas menores. O
JavaScript também manipula o banco de dados,
com o MongoDB.

Em usos mais diferentes e interessantes, temos o


JS aplicado para desenvolvimento de jogos, com
as bibliotecas Impact e Phaser.

Vale citar também a aplicação para inteligência


artificial, um tema muito importante nos nos-
sos dias, e para sistemas operacionais. Para lidar
com IA, temos a biblioteca [Link], versão da

[Link] 06
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

conhecida TensorFlow. Para sistemas operacio-


nais, temos o [Link].

Nas iniciativas voltadas para o back-end, muitas


pessoas têm conseguido bons resultados com
aplicações de conversas em tempo real, como em
um chat.

QUAL A FUNÇÃO DO
JAVASCRIPT EM UM
SITE?

Em sites, a principal aplicação do JS é na otimiza-


ção do front-end. Uma vez que o HTML e o CSS
fornecem uma estrutura visualmente já per-
sonalizada, o JS é usado para dar os toques
finais. (E esses toques finais são muito importan-
tes, pois permitem que o site interaja com o usu-
ário ativamente.)

Imagine, por exemplo, um elemento HTML com


uma determinada cor. A partir do HTML somente,
não é possível alterar a cor dinamicamente, com
o clique do usuário, digamos. Contudo, com uma
lógica embutida no JS, você consegue. A partir da
configuração do tratamento do clique, é possível

[Link] 07
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

mudar a cor de forma automática (veremos mais


sobre isso na parte de eventos deste e-book).

Isso se torna uma possibilidade para outras ações


também: é viável fazer algo aparecer ou sumir da
tela dinamicamente e outros tipos de uso.

Além disso, é possível dar zoom em imagens,


mostrar um contador atualizando automatica-
mente na tela, sortear um número, mostrar menus
animados ou interativos e mostrar carrosséis. Na
interface da Netflix e de sites como YouTube, o
mecanismo que permite arrastar horizontalmente

[Link] 08
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

para ver mais filmes ou vídeos é possível com o


JS.

Recentemente, temos a importância da single-


-page application, um exemplo de página que
consegue atualizar elementos sem mudar a pági-
na inteira. Um exemplo disso? O Gmail, com a fun-
ção de enviar e-mails e checar a caixa de entrada
ao mesmo tempo. Ou o Twitter com a função de
checar os tópicos mais falados enquanto a time-
line é atualizada.

[Link] 09
_
PARA COMEÇAR: POR QUE É UMA BOA IDEIA APRENDER JAVASCRIPT?

QUEM TRABALHA USANDO


ESSA LINGUAGEM?

A pessoa que lida com JS no dia a dia geralmente é a pessoa do


front-end. Ela cuida da interface gráfica, da experiência e do visual no
geral. Contudo, profissionais full stack também precisam dominar a lin-
guagem, pois poderão utilizá-la para o front, para o banco de dados ou
para o back.

Além disso, outras pessoas podem utilizar essa tecnologia: cientis-


tas de dados, pessoas que criam jogos, bem como devs mobile.

Depois desse primeiro tópico com uma visão geral da linguagem, você
provavelmente já notou que está diante de uma das mais importantes
tecnologias da atualidade. Agora, vamos seguir para conceitos que
você precisa saber antes de começar a programar em JS.

[Link]
[Link] 10
10
GLOSSÁRIO:
UM MERGULHO NOS
TERMOS DA LINGUAGEM
JAVASCRIPT
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

Entender mais sobre alguns termos do universo


de JavaScript é essencial para dar os primeiros
passos antes mesmo de codar. Separamos al-
guns conceitos para que você entenda um pouco
da linguagem técnica que envolve o processo de
programação em JavaScript.

» VARIÁVEIS

» FUNÇÕES OU MÉTODOS

» OPERADORES

» TIPOS DE DADOS

» ESTRUTURAS DE REPETIÇÃO

» ESTRUTURAS CONDICIONAIS

» FRAMEWORKS

[Link] 12
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

VARIÁVEIS

Comecemos com as variáveis: elas representam


um espaço na memória disponível para alocar
um determinado valor. O objetivo é registrar
uma informação importante para utilizá-la poste-
riormente. A vantagem de usar uma variável, em
vez de declarar o valor diretamente, é poder ma-
nipular esse espaço na memória e submeter essa
pequena estrutura a mudanças na lógica.

Por exemplo, uma variável numérica pode come-


çar com um valor 10. Contudo, com a lógica sub-
sequente, processamentos de adição são feitos e
essa variável passa a valer 20. Depois, muda no-
vamente para 354.

Para que você não precise manter esse núme-


ro na cabeça depois das mudanças dele, você o
guarda no espaço de memória. Esse espaço vai
ser acessado sempre para realizar as mudanças
automaticamente (a pessoa que programa nem
precisa saber dessas mudanças, só mesmo da
lógica).

As variáveis também servem como uma forma de


tornar o código mais limpo e fácil de compre-
ender. Em vez de ter um número solto no meio do
código, a pessoa programadora pode definir uma
variável com o nome Renda_Total, que indica
muito claramente do que se trata.

[Link] 13
_

FUNÇÕES
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

OU MÉTODOS

Funções são pedaços de código que executam al-


guma tarefa específica. Assim, toda vez que cha-
mamos essa função, obtemos a sua solução de
forma simples e encapsulada. A alternativa ao
uso de funções seria um código complexo e de-
sorganizado em que precisaríamos desenvolver
um conjunto de código toda vez que precisásse-
mos daquela tarefa.

Digamos que você precise de um código para de-


volver a porcentagem de um número com relação
a outro. Esse é um cálculo um pouco mais com-
plexo de ser feito e requer um conjunto de pas-
sos. Assim, caso você faça isso da maneira mais
intuitiva, escrevendo todo o código toda vez que
precisar, o seu código-fonte vai se tornar uma ba-
gunça. Fora que você terá o trabalho de escrever
novamente sempre.

[Link] 14
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

Com as funções, você encapsula aquela tarefa e


sua lógica de funcionamento em um termo es-
pecífico (o nome da função). Então, só tem que
chamar a função e passar o que chamamos de
parâmetros — que são os valores com os quais
a função trabalha. Em nosso exemplo, parâme-
tros seriam os números que eu quero usar para o
cálculo.

Veremos ao longo deste e-book várias funções


que fazem tarefas prontas, com as quais nem
mesmo nos preocupamos com a lógica, somen-
te com a tarefa executada. Assim, entenderemos
melhor como uma função é usada.

[Link] 15
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

OPERADORES

Em JavaScript e em outras linguagens de progra-


mação, os operadores são símbolos que represen-
tam uma operação. Eles podem ser operadores
aritméticos, que se assemelham basicamente ao
que aprendemos em matemática na escola: adi-
ção, subtração, multiplicação e divisão. Sendo
que para multiplicação, usamos “*” e para divisão,
usamos “/”.

Na divisão, temos especificamente a divisão in-


teira, que é representada pelo “%”. Ele retorna
apenas a parte inteira da resposta.

Outros tipos de operadores importantes são os


de comparação de números, que compreendem
o maior que (>), menor que (<), igual (== ou ===) e
diferente (!=).

Por fim, temos a classe dos operadores lógicos.


Esses são aprendidos quando estudamos lógica
booleana. São eles: && (e), || (ou) e ! (não). O “e” só
é satisfeito quando duas condições são satisfei-
tas, o “ou” é satisfeito quando uma das condições
é satisfeita, ao passo que o “não” nega o que vem
depois, então só é satisfeito quando a condição é
negativa.

[Link] 16
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

TIPOS DE DADOS

Os tipos de dados são padrões que usamos em


programação para determinar diferentes mode-
los dos dados com os quais estamos trabalhando.
Desse modo, torna-se mais fácil desenvolver lógi-
cas e fluxos lógicos.

Parte do princípio de que tipos de dados diferen-


tes não podem ser processados como semelhan-
tes, exemplo: um número não é do mesmo tipo
que uma string (conjunto de letras), portanto, não
podemos simplesmente realizar um cálculo
entre um número e uma string.

Ou seja, com essa delimitação entre os tipos, é


possível saber exatamente quando poderemos
realizar um cálculo ou processamento entre vari-
áveis sem obter erros. Além de números e strings,
temos o tipo booleano (verdadeiro ou falso) e o
nulo (que determina um valor vazio).

O grande destaque do JS com relação aos tipos


de dados é que a linguagem não é fortemente
tipada. Assim, se você define uma variável, não
precisa especificar o tipo de dado estritamente e
pode mudar o tipo quando desejar. Ou seja, quan-
do atribui um valor à sua variável, você define o
tipo dela temporariamente.

[Link] 17
_

ESTRUTURAS
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

DE REPETIÇÃO

Um dos elementos mais importantes da lógica de


programação é a capacidade de criar loops. São
controladores de fluxo que repetem a mesma
operação até que uma determinada condição
seja cumprida.

Você pode ter, por exemplo, um conjunto de da-


dos que deseja exibir na tela. Com um loop, você
exibe esse conjunto até que o contador de ele-
mentos do conjunto chega ao seu limite, o núme-
ro de elementos do conjunto.

Uma das principais aplicações de uma estrutura


de repetição é percorrer estruturas de dados (que
são um agrupamento de variáveis), seja para exi-
bir os elementos, seja para realizar algum proces-
samento com eles.

ALGUNS TIPOS DE ESTRUTURA DE REPETIÇÃO SÃO:


for, while, forEach E do-while.
Basicamente, eles estabelecem um elemento contador e executam um
bloco de código (um bloco encapsulado, que lembra uma função) até
que o contador chegue ao limite estabelecido.

É sempre importante tomar cuidado com a lógica, pois uma estrutura


dessas mal formulada leva o sistema ao que chamamos de loop
infinito e pode travar a aplicação.
[Link] 18
_

ESTRUTURAS
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

CONDICIONAIS

Outros elementos de controle de fluxo de ex-


trema importância são as estruturas condicio-
nais. As duas principais são o bloco “if-else” e o
“switch”.

O bloco if-else funciona de modo muito simples.


Você define uma condição de comparação (if X <
2, por ex) e coloca um bloco de código dentro do
if que será executado caso aquela condição seja
cumprida (se satisfizer, adicione 1 ao X, por ex).
O “else” é o elemento em contraste, que executa
uma determinada instrução somente no caso da
condição do if não passar (se o X não for < 2).

if (x < 2){
//codigo do if
} else{
[Link](“<h1>teste do if </h1>”);
}

Em um código comum de uma aplicação, você


verá muitos “ifs”. Inclusive, é comum que tenha-
mos um bloco if-else dentro de um loop, para tes-
tar condições em elementos de uma determinada
estrutura de dados somente.

[Link] 19
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

Já o switch analisa uma variável e estabelece


condições para executar diferentes pedaços de
código. Por exemplo, digamos que o switch anali-
se nossa variável X, os casos podem ser: case > 2,
case < 2 ou case == 2. Para cada caso, temos uma
instrução que deve ser executada.

As estruturas condicionais dividem o fluxo em


uma lógica similar a de uma árvore. Cada con-
dição permite que o sistema vá para um lado ou
para outro da ramificação.

[Link] 20
_
GLOSSÁRIO: UM MERGULHO NOS TERMOS DA LINGUAGEM JAVASCRIPT

FRAMEWORKS

Frameworks são padrões de bibliotecas e classes


que podem ser usados em diferentes projetos. Ou
seja, são uma espécie de código pronto que pode
agilizar o trabalho de programação.

JavaScript é uma linguagem conhecida pelo seu


incrível número de bibliotecas e frameworks. São
eles, aliás, que fazem a tecnologia ser tão versátil
e poderosa para diversas aplicações.

[Link] 21
PRINCIPAIS
FRAMEWORKS
_
PRINCIPAIS FRAMEWORKS

Como falamos, os frameworks de JS são essen-


ciais para que pessoas programadoras ganhem
agilidade na criação de códigos. Assim, é inte-
ressante conhecer os principais frameworks do
mercado, aqueles que mais surgem em discus-
sões e em vagas de emprego para ajudar você a
se preparar.

Antes de começar, vale um aviso: os frameworks


JavaScripts mudam bastante, de uma forma
rápida. Sempre surgem novas versões e até mes-
mo novos frameworks para melhorar a vida das
pessoas programadoras. Por isso, este guia a se-
guir visa apenas apresentar os principais.

[Link] 23
_
PRINCIPAIS FRAMEWORKS

ANGULAR

Um dos mais famosos é sem dúvidas o Angular,


cujo propósito é o desenvolvimento tradicional
front-end. Requer um processo mais complexo
de instalação e configuração, porém gera mui-
tos efeitos positivos para as empresas. Uma de
suas vantagens é o fato de que é um framework
open-source.

Trata-se de uma ferramenta muito útil para quem


precisa manipular o DOM (estrutura de elemen-
tos de uma página) e para quem busca facilidade
na gestão do data binding e dos testes. Assim, as
mudanças do código já são projetadas na parte
de visualização, o que possibilita melhor desem-
penho para as interfaces.

Por ser provavelmente o mais famoso e adorado


em vagas de emprego, a comunidade do Angular
é muito grande. Uma vez que você se dedique a
esse padrão, encontrará muitas pessoas prontas
para ajudar com problemas e desafios na internet.

[Link] 24
_
PRINCIPAIS FRAMEWORKS

REACT

A tecnologia criada pelo Facebook tinha um pro-


pósito muito claro: permitir o desenvolvimento de
interfaces SPA (single-page applications) com fa-
cilidade. Ou seja, possibilitar a criação de interfa-
ces com elementos que mudassem sem precisar
recarregar a página inteiramente.

Desse modo, tornou-se um padrão muito relevan-


te para quem quer chegar a páginas dinâmicas.
É muito útil também por encorajar o encapsu-
lamento e a reutilização de código, o que pos-
sibilita que funções e scripts criados com uma
função sejam usados em vários projetos.

De forma similar ao Angular, o React é conhecido


por envolver uma larga comunidade e ser mui-
to importante para vagas de front-end e full
stack.

[Link] 25
_
PRINCIPAIS FRAMEWORKS

[Link]

O [Link] é uma importantíssima solução que


revolucionou o uso da linguagem JS ao permitir
que ela fosse usada fora do browser. O próprio
framework funciona como um ambiente de exe-
cução. Com isso, o uso da linguagem se expandiu
para as aplicações que já mencionamos, incluin-
do sistemas operacionais e o back-end.

Aliás, em se tratando de back-end, o Node entre-


ga possibilidades bem interessantes. Uma delas
é a chance de trabalhar com microsserviços e
arquitetura sem servidor (serverless).

Isso significa uma capacidade muito maior de


produzir elementos independentes que podem
ser alterados sem que os outros sejam afetados
(uma seção, um menu, um sidebar). O uso de mi-
crosserviços é uma tendência moderna.

[Link] 26
_
PRINCIPAIS FRAMEWORKS

EMBER JS

É um dos concorrentes do Angular, com foco


bastante desenvolvido em performance. Também
apresenta uma comunidade extensa e interes-
sante para ajudar nos projetos diários. Um dos
seus usos é justamente a criação de single-pa-
ge applications, bem como também para testes
robustos.

[Link] 27
_
PRINCIPAIS FRAMEWORKS

[Link]

Considerado um ótimo concorrente do React e do


Angular, o [Link] é uma opção mais simples que
vem ganhando espaço. Mesmo que não seja tão
querido por pessoas que recrutam devs, é ainda
muito importante para a comunidade front-end.
Permite desenvolver single-page applications,
com um bom controle do data-binding também.

É um framework mais leve, utiliza uma lógica de


DOM virtual e possibilita o reuso dos seus com-
ponentes com facilidade. O seu grande destaque
é o fato de que o Vue é um framework progressi-
vo, ou seja, que possibilita o uso e a adaptação a
ele em pequenas partes do sistema por vez.

[Link] 28
INTERAÇÃO DO
JAVASCRIPT COM O DOM
_
INTERAÇÃO DO JAVASCRIPT COM O DOM

Falamos bastante sobre o DOM no último tópico.


Agora vamos definir o que vem a ser esse con-
ceito. A sigla significa Document Object Model e
representa uma árvore de elementos da estrutura
de uma página web.

Se falamos em estrutura, você já deve pensar em


HTML. Exatamente. O DOM é o conjunto de tags
do HTML, dispostas em uma hierarquia no mo-
delo de árvore. Por exemplo: o nó-principal de
toda página é a tag HTML, que é a principal em
todo documento web. Dentro dessa tag, temos as
tags HEAD e BODY. E assim por diante.

[Link] 30
Fonte: Tableless
_
INTERAÇÃO DO JAVASCRIPT COM O DOM

Sendo o DOM o esqueleto da página, o JavaScript


tem como uma das suas principais funções a
manipulação dele. É possível adicionar elemen-
tos, remover elementos, reagir a acontecimentos
que afetam esses elementos, entre outras ações.
A partir de um objeto específico que manipula o
documento (document), você é capaz de trazer
elementos do HTML e adicioná-los à lógica do
JS para controle.

Assim, é possível utilizar aqueles conceitos que


já vimos, como estrutura de repetição e estrutura
condicional para trabalhar com os componentes
da nossa página.

Nesse sentido, é importante tratar de dois con-


ceitos do HTML que você verá muito em códigos
JavaScript: id e class. São duas estratégias para
nomear elementos e permitir que eles sejam iden-
tificados e recuperados no código JS, de modo a
fazer parte de sua lógica.

A diferença entre eles? O id é geralmente usado


como uma forma de identificar um único elemen-
to. Ao passo que a class é usada para agrupamen-
tos de elementos similares. Assim, você consegue
agrupar elementos semelhantes ao chamá-los
todos de um mesmo class.

[Link] 31
_
INTERAÇÃO DO JAVASCRIPT COM O DOM

Isso porque temos funções e métodos que ajudam


a tratar class e id. Um deles é o “[Link]-
lementById”, que vai permitir recuperar quaisquer
elementos com aquele id, e outro é o document.
getElementsByClassName(), que vai possibilitar
buscar elementos pelo nome da classe.

É importante notar aqui que nesse assunto o


JavaScript se torna uma tecnologia altamente
dependente do HTML e do CSS. Então, para do-
minar o JS e usá-lo corretamente no dia a dia,
você precisará também de uma boa base de
HTML/CSS.

[Link] 32
EVENTOS EM
JAVASCRIPT
_
EVENTOS EM JAVASCRIPT

Outro importante conceito na programação em JS


é o de evento. Em suma, um evento é um acon-
tecimento que muda o status de algum elemento
na página e que pode ser manipulado na lógica
de programação. O evento geralmente ocorre por
conta de alguma ação do navegador ou da pessoa
usuária.

Quando entramos na parte de eventos, o nosso


JavaScript começa a ficar mais interessante e
divertido. Pois é nessa parte que entendemos
como adicionar real interatividade à nossa página
e realmente lidar com as ações das pessoas que
usam um site.

[Link] 34
_
EVENTOS EM JAVASCRIPT

Para isso, a gente precisa de um elemento que


fica pronto para notar qualquer mudança no sta-
tus dos elementos do DOM. O termo para isso na
programação web é “listen” ou “ouvir”. É como um
vigia sempre alerta para captar essas alterações.

Um exemplo disso é o clique. Um clique é um


evento, pois é uma ação da pessoa usuária a par-
tir do mouse.

A informação é registrada pelo sistema operacio-


nal e chega, então, ao navegador que interpreta
aquilo como um evento. Caso você tenha desen-
volvido uma lógica para tratar aquele evento, algo
vai acontecer. Por exemplo, podemos definir que
nossa página mude de cor sempre que o usuário
clicar em algo.

O tratamento de eventos segue uma lógica


muito similar à das estruturas condicionais e
à das estruturas de repetição que discutimos
no glossário. Só que essa lógica ocorre de forma
automatizada, sendo que nós só temos acesso a
sua versão final. Funciona assim: se um evento é
detectado, então faça algo. Se não, continue ten-
tando captá-lo.

[Link] 35
_
EVENTOS EM JAVASCRIPT

Outros exemplos de eventos são: carregamento


completo da página, quando uma tecla é pressio-
nada, carregamento de uma imagem, quando o
mouse é colocado por cima de um objeto, digita-
ção de algo no campo de formulário, etc.

Com esses tratamentos, as possibilidades de


animação aumentam e permitem uma interface
mais viva. Por exemplo, quando o usuário passa
o mouse por cima do menu, ele pode aumentar
de tamanho; ou quando o usuário passa o mouse
na seta do carrossel, ele arrasta horizontalmente,
mostra outros elementos e atualiza.

Com isso, a página se torna dinâmica e melhora


a experiência do usuário, oferecendo respostas
mais rápidas.

É interessante perceber como os temas DOM e even-


tos se conectam. Um evento nada mais é do que uma
mudança que afeta todos os elementos do DOM em
uma sequência hierárquica. Lembra da árvore? Pois,
uma mudança em um elemento-filho começa a ser
detectada pelos nós-pais até chegar a ele.

Posteriormente, o evento é propagado de volta ao ele-


mento-raiz, subindo na hierarquia na ordem contrária
à da captura.

[Link] 36
PRIMEIROS PASSOS
ANTES DE PROGRAMAR
_
PRIMEIROS PASSOS ANTES DE PROGRAMAR

Pois bem, você já conhece os principais conceitos


para programar em JS: estruturas condicionais,
operadores, variáveis, funções, eventos, DOM,
etc. Já entende o porquê de usar a linguagem em
seus projetos e reconhece a importância de se-
guir estudando. Chegou a hora de entender quais
são os passos preparatórios para programar de
fato.

[Link] 38
_
PRIMEIROS PASSOS ANTES DE PROGRAMAR

Um deles é a configuração do seu ambiente.


Esse termo pode parecer complexo, mas é mui-
to mais simples do que parece, já que programar
para web não requer nem sistemas instalados.
Você pode fazer o seu primeiro exemplo com o
bom e velho bloco de notas.

Contudo, caso queira algo um pouco mais útil,


com mais recursos, pode instalar o notepad++,
uma espécie de bloco de notas com upgrades.

Outra opção é procurar uma IDE mesmo. Uma IDE


é uma plataforma completa para desenvolvimen-
to de aplicações em linguagens de programação.
Oferece recursos de reconhecimento da sintaxe,
autocompletar, compilação e execução e inte-
gração com bibliotecas. Ainda é possível testar
e analisar o código em busca de erros (que são
apontados com clareza).

Ou seja, é uma suíte completa para programação.


Entre as conhecidas, temos o Vim, o Visual Studio
Code, o WebStorm, o NetBeans e outras.

[Link] 39
_
PRIMEIROS PASSOS ANTES DE PROGRAMAR

A instalação geralmente é muito simples e de-


pende de outros pacotes/recursos específicos da
linguagem utilizada. Para o JavaScript puro, você
precisará de poucos minutos.

Para o caso de JavaScript com frameworks, para


programar é preciso configurar o ambiente e os
pacotes de código. O Angular, por exemplo, de-
pende da instalação de um mecanismo chama-
do de NPM, que pode ser feito em um terminal de
comando.

Uma grande vantagem dos últimos anos no uni-


verso da programação é a possibilidade de não
precisar instalar nada em sua máquina e mesmo
assim obter os recursos robustos de uma IDE. É o
uso de softwares de programação na nuvem.
Para desenvolvimento web, temos o Code Pen
(que funciona também como um hub de projetos
e uma rede social) e o Replit.

Com eles, você começa instantaneamente e já


consegue ver o seu código funcionar. Inclusive,
recomendamos o uso deles para o próximo tópico.

[Link] 40
MÃO NA MASSA: CRIANDO
SEU PRIMEIRO CÓDIGO
_
MÃO NA MASSA: CRIANDO SEU PRIMEIRO CÓDIGO

Aqui estamos. Agora que você aprendeu concei-


tos básicos e a lógica por trás do JS, é hora de
colocar a mão na massa. Neste tópico, vamos en-
sinar duas aplicações simples do JavaScript para
você entender como começar.

[Link] 42
_
MÃO NA MASSA: CRIANDO SEU PRIMEIRO CÓDIGO

OLÁ,
MUNDO

A tradição ao iniciar uma nova tecnologia é come-


çar com um simples “olá, mundo”. Então, esse é
justamente o nosso primeiro exemplo.

Recomendamos que você abra o site Code Pen


para esses exemplos. Na parte superior esquerda
da home page, clique em “start coding”.

Primeiro, comece com a estrutura de uma pá-


gina web padrão na seção do HTML. Inclui uma
tag “html”, uma tag “head”, uma tag “title”, uma
tag “meta”, uma tag “body” e uma tag de “script”.
Todas com seu devido fechamento.

<html>
<head>

<meta charset=“utf-8”/>
<title>Meu Primeiro Codigo</title>

<body>

</body>

</head>

</html>

[Link] 43
_
MÃO NA MASSA: CRIANDO SEU PRIMEIRO CÓDIGO

Agora, vamos ao nosso arquivo js. Lá, escrevere-


mos “[Link] (“olá, mundo!”);”. Em suma,
estamos pedindo para nossa função de escre-
ver no DOM que ela imprima uma mensagem.

[Link] (“olá, mundo!”);

O resultado desse código vai aparecer em uma


página web desta forma:

[Link] 44
_
MÃO NA MASSA: CRIANDO SEU PRIMEIRO CÓDIGO

FORMULÁRIO SIMPLES

Para o segundo exemplo, mantenha a estrutura já


criada do HTML.

Para nosso formulário, precisaremos de uma tag


“form”. Dentro dela, os elementos do formulário
são pertencentes às tags “label” (nome do cam-
po) e “input” (espaço em branco para digitação).

<form name=“meu_form”>

<h1>Cadastre-se</h1>

<label for=“nome”>Nome</label>
<input type=“text” id=“nome-id” placeholder=“nome e sobrenome” required=“required” name=“nome” />
<br>
<br>

<label for=“email”>Email</label>
<input type=“email” id=“email-id” placeholder=“fulano@[Link]” name=“email” />
<br>
<br>

<input type=“submit” class=“enviar” onclick=“Enviar();” value=“Enviar” />


</form>

O primeiro input é do tipo texto. Definimos que


esse campo será obrigatório, então adicionamos
o “required”. O input do e-mail é do tipo e-mail, ao
passo que o do botão de enviar é do tipo “submit”.

[Link] 45
_
MÃO NA MASSA: CRIANDO SEU PRIMEIRO CÓDIGO

Pronto. Nosso HTML do formulário está pronto.


Agora, vamos partir para o JS.

Lá, criaremos uma função com o nome “enviar”. A


primeira parte dessa função vai pegar o elemento
que tem o id “nome-id” do nosso DOM e passar
para a variável “nome”.

function Enviar () {

var nome = [Link](“nome-id”);

if ([Link] != “”) {
alert(‘Obrigado, ‘ + [Link] + ‘, os seus dados foram encaminhados com sucesso’);
}

Depois, fazemos uma verificação: se o valor da


variável não é nula, podemos então supor que a
pessoa preencheu o nome. Assim, exibimos uma
mensagem com a função “alert”. O resultado é
o formulário:

[Link] 46
CONCLUSÃO

Parabéns! Se você chegou até aqui, já deu seus pri-


meiros passos nessa linguagem e, agora, basta con-
tinuar se desenvolvendo e explorando outras ideias e
frameworks.

Como você viu, o JavaScript é uma tecnologia versátil


e essencial para a construção de páginas web moder-
nas, responsivas e dinâmicas. Também é um padrão
muito requerido no mercado, sendo assim fundamen-
tal para o desenvolvimento full stack e front-end.

Com os conhecimentos básicos, você já consegue en-


tender como a linguagem funciona e tentar escrever
os primeiros códigos. Esperamos que este seja apenas
o início da sua jornada em desenvolvimento web.

Sente que está na hora de avançar nessa carrei-


ra? Então conheça o novo curso da Tera, Full Stack
Development, que vai formar a próxima geração de
profissionais Full Stack!

CONHEÇA O CURSO

[Link] 47
SOBRE A TERA

Somos mais do que uma escola, somos uma comunida-


de de pessoas apaixonadas por educação e tecnologia.

Acreditamos que um mundo melhor nasce do trabalho


de pessoas conscientes, responsáveis e corajosas que
se apropriam da tecnologia para servir ao coletivo.
EQUIPE EDITORIAL

Redação
Gabriel Sacramento

Revisão
Rebeca Nascimento

Direção de arte
Tatiane Rocha

Diagramação
Marina Ferreira

[Link] 49

Common questions

Com tecnologia de IA

JavaScript é essencial para o front-end porque permite que as páginas da web interajam ativamente com os usuários, através de funcionalidades dinâmicas e interativas, complementando a estrutura visual fornecida por HTML e CSS. No back-end, com o uso de frameworks como Node.js, o JavaScript permite lidar com APIs, autenticar fluxos de informações, e executar outras ações do lado do servidor. Assim, ele proporciona uma ponte entre o front-end e o back-end, aumentando a eficiência e versatilidade no desenvolvimento web .

JavaScript interage com o DOM para permitir que elementos de uma página web sejam modificados dinamicamente sem recarregar a página inteira. Isso é possível através da manipulação de eventos e alterações de propriedades dos elementos DOM, como mudar uma cor ao clicar em um elemento ou mostrar menus interativos. Essa interação é crucial para permitir funcionalidades dinâmicas, como carrosséis e atualizações em single-page applications, como Gmail e Twitter .

JavaScript foi adaptado para o desenvolvimento de aplicações móveis através de bibliotecas e frameworks que oferecem suporte a interfaces responsivas, adequadas para telas menores dos dispositivos móveis. Esses elementos permitem que os desenvolvedores criem experiências de usuário otimizadas para mobile, incluindo a capacidade de manipular o DOM para alterar layouts e conteúdos conforme necessário. Bibliotecas como React Native são exemplos de como JavaScript está sendo usado para criar aplicativos móveis nativos com eficiência .

JavaScript impacta o desenvolvimento de jogos, principalmente através de sua capacidade de criar aplicações interativas e dinâmicas direto no navegador, sem necessidade de plugins adicionais. Bibliotecas como Impact e Phaser são frequentemente utilizadas para esse fim, proporcionando ferramentas para manipulação de gráficos, animações e lógica de jogo. Isso torna o desenvolvimento de jogos mais acessível e versátil, permitindo que desenvolvedores criem experiências imersivas que podem ser facilmente distribuídas via web, ampliando o alcance e a acessibilidade dos jogos desenvolvidos .

O uso de funções em JavaScript permite encapsular tarefas específicas, o que simplifica a estrutura do código ao evitar repetição desnecessária. Funções tornam o código mais modular e fácil de manter, pois uma tarefa complexa pode ser abstraída em uma função e reutilizada em várias partes do projeto. Isso não só melhora a legibilidade do código, como também facilita a detecção e correção de erros, contribuindo para a eficiência do desenvolvimento e manutenção de softwares .

Configurar um ambiente de desenvolvimento para JavaScript envolve escolher as ferramentas adequadas, como editores de texto ou IDEs, que facilitam a programação com recursos como autocompletar, depuração e visualização do código. Isso é importante para garantir um fluxo de trabalho eficiente e minimizar erros. As opções de programação na nuvem, como CodePen, oferecem uma alternativa imediata sem instalação, permitindo ver o código em ação imediatamente. A configuração inicial, especialmente ao usar frameworks como Angular, pode exigir instalação de pacotes e ferramentas como NPM, mas é crucial para permitir o desenvolvimento colaborativo e escalável .

A utilização de frameworks em JavaScript acelera o processo de desenvolvimento ao oferecer bibliotecas e classes prontas, o que facilita a programação ágil e reduz a necessidade de escrever código repetitivo. Frameworks como Angular ajudam no gerenciamento de data binding e testes, proporcionando um desempenho melhor para interfaces altamente interativas. A grande comunidade dos frameworks como Angular garante suporte e inovação contínua, tornando-os fundamentais para o desenvolvimento eficiente e robusto .

O JavaScript não ser fortemente tipado significa que as variáveis não precisam declarar um tipo específico de dado e podem mudar de tipo dinamicamente. Isso oferece flexibilidade ao programador, permitindo atribuir diferentes tipos de dados a uma variável sem a necessidade de redefinir ou reespecificar seu tipo. Embora isso possa levar a erros se as mudanças de tipo não forem previstas ou controladas adequadamente, essa característica facilita a escrita de códigos mais concisos e flexíveis durante o desenvolvimento .

As estruturas de repetição e condicionais são fundamentais para a lógica de programação, pois controlam o fluxo de execução do código com base em condições específicas e iteram sobre conjuntos de dados até que critérios definidos sejam cumpridos. Estruturas como 'for', 'while' e 'if-else' garantem que as operações sejam realizadas de forma ordenada e eficiente, atendendo às necessidades do programa em executar diferentes instruções conforme as condições do ambiente ou dos dados mudem, evitando erros lógicos e melhorando o processamento de dados grandes e complexos .

JavaScript é aplicado no desenvolvimento de inteligência artificial principalmente através de bibliotecas especializadas que facilitam o aprendizado de máquina no navegador. A biblioteca Tensor.JS é uma versão especial da framework TensorFlow adaptada para JavaScript, que permite a execução de modelos de IA de forma eficiente diretamente no browser. Isso possibilita a criação de aplicativos web inovadores que utilizam IA sem a necessidade de servidores robustos, democratizando o acesso ao desenvolvimento de inteligência artificial .

(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)A
SUMÁRIO
INTRODUÇÃOb
PARA COMEÇAR: POR QUE É UMA 
BOA IDEIA APRENDER JAVASCRIPT?
GLOSSÁRIO: UM MERGULHO 
NOS TERMOS DA LINGUAG
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)02
PARA COMEÇAR:  
POR QUE É UMA BOA IDEIA 
APRENDER JAVASCRIPT?
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)04
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)05
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)06
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)07
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)08
(https://www.linkedin.com/school/somostera/) (https://www.instagram.com/somostera) (https://pt-br.facebook.com/somostera/)09

Você também pode gostar