(Ebook +IFMG) - JavaScript Básico
(Ebook +IFMG) - JavaScript Básico
Básico
Formação Inicial e
Continuada
+ IFMG
Carlos Dias da Silva Júnior
JavaScript Básico
1ª Edição
Belo Horizonte
Instituto Federal de Minas Gerais
2022
© 2022 by Instituto Federal de Minas Gerais
Todos os direitos autorais reservados. Nenhuma parte desta publicação poderá ser
reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico
ou mecânico. Incluindo fotocópia, gravação ou qualquer outro tipo de sistema de
armazenamento e transmissão de informação, sem prévia autorização por escrito do
Instituto Federal de Minas Gerais.
CDD 005.133
CDU 004.438
2022
Direitos exclusivos cedidos ao
Instituto Federal de Minas Gerais
Avenida Mário Werneck, 2590,
CEP: 30575-180, Buritis, Belo Horizonte – MG,
Telefone: (31) 2513-5157
Sobre o material
O autor.
Apresentação do curso
Este curso está dividido em quatro semanas, cujos objetivos de cada uma são
apresentados, sucintamente, a seguir.
Objetivos
Tem como objetivo introduzir a linguagem de programação
JavaScript. Serão apresentados os conceitos gerais da
linguagem, sua história e preparar o ambiente de
programação.
22
Figura 1 – Navegador Google Chrome com destaque para as “Ferramentas do desenvolvedor”.
Fonte: O próprio autor.
22
No Console, é possível escrever comandos em JavaScript, que serão interpretados
e executados na página que está aberta, permitindo que interaja diretamente com
elementos da mesma.
Porém, para começar a desenvolver códigos mais complexos, precisamos de um
editor de texto. Por exemplo, podemos utilizar o Gedit, em sistemas baseados em Linux,
ou mesmo o Bloco de Notas, no Microsoft Windows.
Porém, é mais vantajoso utilizar softwares chamados “Integrated Development
Environment” (IDE), ou, em português, Ambiente de desenvolvimento integrado. Estes são
editores de texto com foco na produtividade de escrita de código, trazendo recursos como
facilidade de navegação entre vários arquivos, integração com gerenciadores de versão,
auxílio de autocompletar em certos trechos de códigos, entre outros.
Existem vários editores desse tipo, cada um com suas vantagens e recursos que
são, no fim das contas, únicas para cada desenvolvedor. Sendo assim, não há uma
“Melhor IDE” e sim a que melhor se adapta ao seu estilo de trabalho. Neste livro iremos
utilizar o Visual Studio Code, por ser um editor popular, gratuito e de código aberto, além
de estar disponível para todos os sistemas operacionais.
Para adquiri-lo, basta ir para https://code.visualstudio.com/, fazer o download da
versão compatível com seu sistema operacional, e instalá-lo seguindo as instruções que
irão aparecer na tela.
Ao abrir o Visual Studio pela primeira vez, observe que temos vários elementos
visuais, para acessar as ferramentas disponibilizadas pelo editor. Devemos dar destaque à
barra lateral esquerda, com vários ícones, como o de “Explorador” para navegar entre os
arquivos em uma pasta de projeto, o “Pesquisar” para realizar buscas em arquivos,
“Controle de código-fonte” que dá acesso à ferramenta de controle de versão do código e
“Extensões” que permite instalar novas ferramentas e funcionalidades para o editor. É
recomendado que tente explorar um pouco a janela do Visual Studio Code, de forma a
descobrir um pouco do que essa IDE pode oferecer. Não se preocupe em decorar onde
estão, ou saber quais as funcionalidades de tudo: a medida que for utilizando, com certeza
irá entender cada “pedacinho” disponível.
Com o editor já instalado e conhecendo a possibilidade de utilizar o Console no
navegador, já podemos iniciar os testes e programar em JavaScript!
22
Figura 3 – Teste de “console.log” no Google Chrome.
Fonte: O próprio autor.
Agora vamos entender o que está acontecendo: você acabou de usar o seu primeiro
comando no JavaScript! Em todos os navegadores, o Console é uma ferramenta para
identificar falhas no código (também chamadas de bugs) ou mesmo exibir informações
úteis para o desenvolvedor. Neste caso, usamos a função “log” do console, que permite
exibir na tela do Console, textos.
Outra coisa que podemos aprender com esse exercício simples é sobre a sintaxe,
ou seja, o padrão de como devemos escrever comandos: observe que a frase “Olá mundo”
foi digitada entre aspas e dentro de um parênteses., logo depois do nome da função.
Iremos estudar nos próximos capítulos sobre o motivo disso acontecer, mas de início, tente
modificar o comando para que exiba a frase “Curso de JS”, no console.
Após testar diretamente no console, está na hora preparar uma página própria para
testes de códigos. Basicamente, teremos uma página HTML em branco, com os códigos
inseridos na mesma. Para isto, vá até o Visual Studio Code, e nos menus superiores
“Arquivo”, depois em “Novo arquivo de texto”. Uma página em branco será exibida, copie e
cole o código HTML abaixo e salve o arquivo como “cursoJS.html”.
<html>
<body>
<h1>Curso JS Básico</h1>
22
<script>
console.log("Olá Mundo");
</script>
</body>
</html>
Logo em seguida, abra o arquivo salvo em seu navegador. Para isto, vá pelo
gerenciador de arquivos do seu sistema operacional até a pasta em que salvou o mesmo,
e clique duas vezes sobre o arquivo para abri-lo em seu navegador padrão. Você verá
apenas uma página em branco com um texto “Curso JS Básico”. Porém, se abrir
novamente o console, como vimos anteriormente, verá a frase “Olá Mundo”. Como na
imagem abaixo.
22
modifique o código anterior, removendo a linha de JS “console.log("Olá Mundo");”
alterando para “alert("Olá Mundo");”. Agora, sua página de testes ficará assim:
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
alert("Olá Mundo");
</script>
</body>
</html>
Como você pode perceber, ao carregar a página lhe é exibido uma janela de alerta,
com um botão de “ok”. Isto é muito útil quando precisamos informar ao usuário erros,
coisas importantes, ou apenas dar um “oi” como fizemos agora.
Estes foram os nossos primeiros passos com JavaScript, e a jornada de
aprendizado está apenas começando! Nos próximos capítulos, iremos entender como
funciona uma linguagem de programação como o JavaScript, como manipular variáveis (o
que são variáveis), verificações de condições, entre outras coisas úteis para se tornar um
programador. Além disso, vamos mostrar como funciona a sintaxe da linguagem, ou seja,
como é o padrão que iremos utilizar para programar, ao longo de todos os capítulos.
Espero que goste, bons estudos!
22
Instituto Federal de Minas Gerais
Pró-Reitoria de Extensão
22
Semana 2 – Tipos de dados e variáveis
Objetivos
Com os primeiros testes de códigos e exibindo mensagens
ao usuário, nesta semana aprenderá o básico da sintaxe de
JS, criação e tipos de variáveis.
Observe o que fizemos aqui, de forma bem simplificada: nós salvamos os dados,
colocando rótulos neles para que eu saiba o que cada um representa. Em programação de
computadores, variáveis é justamente isso: uma maneira de armazenar dados, colocando
nomes que identificam o que está sendo salvo.
Para criar uma variável em JavaScript, deve-se utilizar a palavra chave “let”: da
mesma maneira que quando deseja-se exibir uma mensagem de alerta na tela, é utilizado
o comando “alert”, essa palavra chave é a maneira de indicar ao interpretador que deverá
ser criada uma variável.
22
Como exemplo, vamos criar as três variáveis apresentadas anteriormente: nome,
telefone e e-mail. Para isto, deverá haver três linhas de código, uma para cada variável
que se deseja criar. Observe o código da nossa página HTML, abaixo:
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let nome = “Carlos”;
let telefone = “(31)98765-4321”;
let email = “[email protected]”;
</script>
</body>
</html>
Observe novamente a sintaxe utilizada para criar estas variáveis: no início da linha,
deve-se aparecer a palavra reservada “let”, indicando que irá ser criada uma variável,
depois vem o nome da variável e, por último, um igual que indica que a seguir será digitado
o valor que será salvo naquela variável.
É importante salientar que os valores a serem salvos (por exemplo o nome “Carlos”)
ficam entre aspas, pois indica que aquilo é um dado, no caso, todos os dados são textos.
Mas e se o valor a ser salvo for um número? Por exemplo, gostaria de salvar um valor que
seria a altura do meu contato. Poderíamos fazer da seguinte maneira:
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let nome = “Carlos”;
let telefone = “(31)98765-4321”;
let email = “[email protected]”;
let altura = 1.86;
</script>
</body>
</html>
22
Neste caso, foi utilizada “let” novamente, mas o valor a ser salvo na variável “altura”
não está mais entre aspas, sendo apenas um número com ponto, pois, em geral, não se
utiliza vírgula para separar os decimais em linguagens de programação. Com isso, temos
mais um conceito em programação: o tipo da variável. As variáveis podem armazenar
dados de diferentes tipos (como números inteiros, números com decimais e textos) e, de
acordo com o que será salvo, a forma de escrever esse dado se modifica. É por isso que o
texto que salvamos na variável “email” está entre aspas, por ser um texto, e a altura não,
por ser um número.
Em outras linguagens de programação (como em C, por exemplo) o programador
precisa dizer no código o tipo da variável que será armazenada. Em JavaScript, que é um
tipo de linguagem chamada “não tipada”, não existe necessidade de marcar os tipos.
Porém, no JavaScript, existem 6 tipos primitivos:
● String: para representar conjuntos de caracteres, ou seja, textos.
● Number: que engloba número inteiros ou não
● Boolean: para lógica Booleana (verdadeiro ou falso, 1 ou 0)
● Null: quando a variável tem um valor nulo (sem valor)
● undefined: no caso da variável não existir ainda na memória
● Symbol: novo no ECMAScript 6, é um tipo para armazenar valores únicos e
otimização do uso de memória
Devemos observar, então, a importância de se escrever corretamente e manipular
as variáveis com os tipos que envolvem um pouco de atenção, mas que irá se acostumar à
medida que desenvolver programas.
Agora vamos testar como usar essas variáveis: assim como já foi feito
anteriormente, podemos exibir um texto para o usuário através de uma janela de alerta ou
no console. Neste teste, será exibido “O email salvo no contato de Carlos é
[email protected]”, utilizando os dados salvos nas variáveis. Para isso, vamos modificar o
código anterior, adicionado a seguinte linha de código:
Neste momento, pode-se destacar mais uma lição de sintaxe da linguagem: o texto,
que não é variável, ficou entre aspas enquanto os nomes das variáveis não. Isso acontece
para que o interpretador entenda que você quer utilizar a variável chamada “nome” e não o
texto, escrito nome. Além disso, já conseguimos perceber como juntamos variáveis e
textos: usando o operador “+”. Um pouco mais a frente, vamos explicar como funcionam
outros operadores. O código final então da nossa página ficou assim:
22
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let nome = “Carlos”;
let telefone = “(31)98765-4321”;
let email = “[email protected]”;
let altura = 1.86;
alert("O email salvo no contato de " + nome + " é " + email);
</script>
</body>
</html>
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let nome = prompt(“Por favor insira seu nome”);
let telefone = prompt(“Por favor insira seu telefone”);
let email = prompt(“Por favor insira seu email”);
alert("O email salvo no contato de " + nome + " é " + email);
</script>
</body>
</html>
Desta maneira, será perguntado ao usuário os dados, e depois será exibido uma
mensagem de alerta com os dados que foram obtidos.
22
2.2. “let”, “const” e variáveis globais
Agora imagine a seguinte situação: o Carlos, esse contato que salvamos, mudou de
telefone. Como vamos modificar o número de telefone dele? Em programação isso é
possível modificando o valor da função.
Antes de modificar, vamos entender como funciona o armazenamento de variáveis
na memória do computador: imagine que a memória volátil (a memória em que os dados
são perdidos quando se desliga a energia, que no caso do PC é a RAM, não confunda com
o disco rígido, que é uma memória não volátil, e que seus arquivos estão guardados) do
computador é um armário com gavetas. Quando você cria uma variável, é como se o
sistema estivesse colocando uma etiqueta nestas gavetas (veja a figura a seguir) e quando
você coloca um valor, o dado é armazenado nessa gaveta.
22
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let nome = “Carlos”;
let telefone = “(31)98765-4321”;
let email = “[email protected]”;
let altura = 1.86;
telefone = “(31)98877-6543”;
alert("O email salvo no contato de " + nome + " é " + email);
</script>
</body>
</html>
Agora vamos analisar o código: observe que adicionamos a linha marcada de verde,
nesta linha não digitamos a palavra reservada “let”, pois não vamos criar a variável
“telefone” novamente, queremos apenas modificar o valor da mesma. Por fim, o código irá
gerar um alerta e o número de telefone que irá aparecer não é “(31)98765-4321” e sim
“(31)98877-6543”, pois o mesmo foi alterado.
O código é executado de cima para baixo, ou seja, as primeiras linhas são
executadas primeiro que as de baixo. Por isso, quando criamos a variável “telefone” e na
linha abaixo modificamos o valor desta, quando a linha com o “alert” é chamada, o valor já
foi alterado.
Mas vamos a um caso diferente: gostaria de que o nome não pudesse ser alterado
em nenhum momento do código, ou seja, ela não será mais uma variável e sim uma
constante. Para isto, precisamos utilizar da palavra reservada “const” ao invés de “let” ao
criar o “nome”. Veja o código abaixo, com o “const” adicionado.
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
const nome = “Carlos”;
let telefone = “(31)98765-4321”;
let email = “[email protected]”;
let altura = 1.86;
22
telefone = “(31)98877-6543”;
alert("O email salvo no contato de " + nome + " é " + email);
</script>
</body>
</html>
2.3 “String”
Como já vimos anteriormente, o JavaScript tem tipos primitivos de variáveis. Um tipo
em especial que já utilizamos anteriormente, foi a “String”. Esta pode ser utilizada para
salvar dados em forma de texto ou qualquer sequência de caracteres. Como assim
“sequência de caracteres”? Isso quer dizer que em uma String podemos guardar textos
como o nome completo de uma pessoa, ou o seu endereço, e esses dados na verdade
nada mais são do que uma sequência de símbolos/caracteres (no caso do nome é uma
sequência de letras com espaços). Isto é particularmente interessante, pois uma String
permite que um caractere específico do dado que está salvo seja acessado.
Veja o exemplo a seguir: nele criamos uma variável chamada “email” e exibimos ao
usuário.
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let email = “[email protected]”;
alert("O caractere na posição 3 do email é " + email[3])
</script>
</body>
</html>
Observe que o caractere que aparece no alert é o “@”. Por que isso acontece? cada
caractere dentro da String “email” tem um número, a posição em que ele está, começando
pelo primeiro caractere, que é o 0 (zero). Mais uma vez, devemos ficar atentos à sintaxe:
primeiro vem o nome da variável (no caso é “email”) e depois entre colchetes ( “[“ e “]”) o
22
número da posição que deseja acessar. Também é possível fazer a mesma coisa
utilizando a função “charAt”, como mostrado a seguir:
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let email = “[email protected]”;
alert("O caractere na posição 3 do email é " + email.charAt(3))
</script>
</body>
</html>
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let email = “[email protected]”;
email = email.replace(“meu”, “javascript”)
alert(" Email: " + email)
</script>
</body>
</html>
O que fizemos foi substituir uma parte do texto, e o alerta irá exibir “Email:
[email protected]”. Novamente, a sintaxe, e como usar a função aqui é muito
importante: quando colocamos um “replace”, o código irá retornar o texto modificado
apenas, não salvando na memória o valor modificado. Por isso, na linha destacada em
verde, fizemos que a variável email é ela mesma, mas substituindo “meu” por “javascript”.
22
2.4 Operadores
<html>
<body>
<h1>Curso JS Básico</h1>
<script>
let soma = 5 + 2;
let subtracao = 3 - 1;
let multiplicacao = 8*9;
let divisao = 10/5;
let raizQuadrada = Math.sqrt(81);
let potenciacao = Math.pow(2,3);
let cosseno = Math.cos(Math.PI*2);
</script>
</body>
</html>
22
Além disso, há outros operadores úteis para lógica de programação. Por exemplo,
imagine que você quer incrementar o valor de uma variável chamada “idade”: você poderia
fazer da seguinte maneira:
Ou seja, o novo valor de idade é o valor atual, mais 1. Mas você poderia também
fazer da seguinte maneira:
22
Instituto Federal de Minas Gerais
Pró-Reitoria de Extensão
22
Semana 3 – Lógica e condicionais
Objetivos
Aprenda a trabalhar com condições para executar código e
repetições de código em JavaScript
3.2 Condições
É tão comum em nosso dia a dia, trabalharmos com condições e decisões que nem
percebemos: se o semáforo de pedestres está verde, vou atravessar a rua, se o estou com
sede, devo tomar água ou se quero utilizar meu computador, vou ligá-lo. Em programação,
também é necessário estabelecer algumas condições, que deverão ser analisadas pelo
código, como por exemplo: se o CPF digitado não for válido, exibir alerta ao usuário ou se
o usuário e senha não estiverem válidos, bloquear o acesso ao sistema.
Sabendo disso, volte no parágrafo anterior e veja a palavra que mais se repetiu,
para descrever cada condição apresentada: “se”. Sempre que desejar que, para que
ocorra algo (efeito) , seja necessário uma condição (causa) você irá usar “se”.
Em JavaScript, assim como em várias linguagens de programação, este “se” torna-
se “if”: um bloco de condição que irá permitir que tome decisões baseado em estados no
seu código.
Essa estrutura deverá ser assim:
if (condição) {
Código, caso a condição seja verdade
}
A sintaxe aqui apresentada será bem comum daqui para frente: sempre que houver
um bloco de instruções (linhas de código), iremos colocá-los entre chaves (“{“ e “}”) para
indicar que aquele trecho está “dentro” da linha anterior. Para construir as condições,
iremos utilizar os operadores lógicos de comparação que podem ser:
let a = 2;
let b = “2”;
console.log(a==b)
Este trecho de código irá retornar “true” no console, pois é ignorado o fato de que a
variável “b” é uma String, e o valor numérico dela é comparado. Se desejar comparar
estritamente, considerando o tipo da variável, deverão ser utilizados os operadores “===” e
“!==”. Assim, o código para retornar que “a” é diferente de “b” devido ao fato de serem de
tipos diferentes é:
let qtdLaranjas = 4;
if(qtdLaranjas <5){
alert(“AVISO: o estoque de laranjas está baixo!”);
}
E se desejarmos mostrar uma mensagem caso o número de laranjas não for menor
que 5? Podemos fazer um código com outro “if” em que a condição seja “qtdLaranjas > 5”,
e funcionaria corretamente. Porém, em JS e outras linguagens de programação, há a
opção e usar “else”.
O “else” nada mais é do que dizer “se não…”, ou seja, caso a condição anterior não
seja verdadeira. É importante salientar que só existe “else” depois de uma condição, o que
significa que sempre teremos blocos encadeados de “if” e “else”. Veja o código a seguir:
let qtdLaranjas = 5;
if(qtdLaranjas <5){
alert(“AVISO: o estoque de laranjas está baixo!”);
Mais uma vez, devemos estar atentos à sintaxe: “else” abre um bloco de linhas de
código que deverão estar entre chaves, assim como no “if”. Além disso, o bloco de “else”
só é iniciado, depois que o bloco de “if” é fechado.
console.log(0);
console.log(1);
console.log(2);
console.log(3);
console.log(4);
Como pode ser visto, com apenas 3 linhas de código, no console será exibido 100
saídas (começando no número 0 e terminando com 99). Esta é uma clara demonstração
de como laços de repetição simplificam códigos e agilizam o processo de desenvolvimento.
Além do “for”, há a opção de se utilizar um outro tipo de laço: o “while”. Em tradução
literal, “while” significa “enquanto”, ou seja, “enquanto uma condição for verdadeira faça
isso…”. Como por exemplo, vamos refazer o código anterior, feito com “for”:
let i = 0;
while(i< 100){
console.log(i);
i++;
}
Neste caso,não temos mais uma sintaxe com vários argumentos: o “while” recebe
apenas um argumento que é a condição de manter a repetição. Leia a linha “ while(i< 100){”
como “enquanto i for menor do que 100, faça…”. Uma forma alternativa de se fazer o
“while” é utilizar uma estrutura “do… while”. Por exemplo, você quer realizar uma ação uma
vez, e repetir ela enquanto uma situação seja verdadeira.Veja o código abaixo:
let i = 0;
do{
console.log(i);
i++;
} while(i< 100);
Até agora, vimos que uma variável pode guardar um dado, seja ele uma String, seja
um número… Mas, às vezes, precisamos representar um conjunto de dados maior, por
exemplo: você está fazendo uma aplicativo para ajudar a gerenciar sua lista de compras,
logo precisa de alguma forma de salvar vários dados, que são os nomes dos itens que
precisa comprar. Da maneira que sabemos criar variáveis até agora, teríamos que criar
várias variáveis, uma para cada item que iria comprar, certo? Mas isso seria inviável, pois
sua lista estaria limitada à quantidade de variáveis que você criou.
Para este tipo de problema, o JavaScript dispõe de um tipo de objeto muito
interessante: o array. Neste tipo de objeto, semelhante a uma lista, temos vários dados
O que nos é mostrado no console, é o primeiro item da lista: “arroz”. Isto pois, assim
como com Strings, em um array, a contagem se inicia em zero. Assim, se desejo ver o
segundo item da lista, devo acessar “lista[1]”, e assim por diante. O interessante é que,
conseguimos alterar o valor do dado salvo em cada posição do array da mesma maneira
que uma variável comum, utilizando também a sintaxe de “nome_da_variavel [ posição ]”,
como neste exemplo:
Porém, pode ser que precisemos adicionar itens à nossa lista de compras: agora eu
preciso comprar também “pasta dental”. Para adicionar um item, podemos utilizar o método
“push”, e o novo item irá para o final da lista. Com o código a seguir, no console, será
exibida a lista completa, agora com o item que adicionei no final.
E se deseja remover um item, deverá utilizar o método “pop”, caso deseje apagar o
último, e o primeiro pode ser removido com “shift”. Veja esses dois exemplos:
Além disso, como dito anteriormente, arrays aceitam vários tipos de variáveis, e isso
significa até mesmo outros arrays. Isto é muito útil para fazer tabelas, em que nos
interessamos não apenas na posição unidimensional, mas em duas dimensões (linha e
coluna). Por exemplo, vamos criar um tabuleiro de xadrez: precisamos indicar onde cada
peça está em linha e coluna, isto pode ser feito com um array que contém vários arrays
que representam as linhas do tabuleiro. Veja o código a seguir:
let board =
[ ['T','C','B','Q','K','B','C','T'],
['P','P','P','P' ,'P','P','P','P'],
[' ' , ' ' , ' ' , ' ' , ' ', ' ', ' ' ,' ' ],
[' ' , ' ' , ' ' , ' ' , ' ', ' ', ' ' ,' ' ],
[' ' , ' ' , ' ' , ' ' , ' ', ' ', ' ' ,' ' ],
[' ' , ' ' , ' ' , ' ' , ' ', ' ', ' ' ,' ' ],
['p','p' ,'p' ,'p' ,'p','p', 'p','p'],
['t' ,'c' ,'b' ,'q' ,'k' ,'b','c', 't' ] ];
console.log(board.join('\n'));
Agora, finalizamos mais uma semana! Na próxima, vamos aprender como utilizar
variáveis em blocos de código, chamados funções. Até lá!
Objetivos
Com foco em tratar dados e objetos em JS, nesta semana
entenderá sobre funções e como usar alguns recursos da
linguagem para a web.
Esta semana é a última do curso, o que significa que vamos usar tudo que
aprendemos até agora para construir programas mais complexos e, por consequência,
mais legais! Essa aventura começa com um conceito muito interessante: funções. Talvez
você conheça essa palavra, por causa da matemática, por exemplo, temos uma função de
segundo grau “f(x) = x² +2x +1”.
Em linguagens de programação, uma função é um subconjunto de linhas de
códigos, como se fosse um subprograma, que pode ser chamado por outro. Ou seja, assim
como nos laços de repetição, que nos permite ter blocos de código que vão ser repetidos,
nas funções também podemos fazer blocos, que serão utilizados em diferentes locais do
meu código e até mesmo repetidas vezes. Além disso, as funções podem receber
argumentos, ou seja, receber dados para usar dentro dos blocos de código.
Fazendo analogia com a função matemática de segundo grau, o argumento é um
valor para “x”. Quando fazemos por exemplo “f(2)” esse valor “2” será substituído nos
lugares que aparece um “x”, certo? Além disso, essa função “f” vai nos retornar um valor,
que é o valor equivalente para “x=2”.
Aqui, em JS, podemos fazer a mesma coisa: uma função, ou seja, um bloco de
código, pode receber um valor (argumento) e retorna outro valor. Veja o exemplo:
function f (x){
return Math.pow(x,2) +2*x + 1;
}
let f2 = f(2);
console.log(“f(2) = ” + f2);
logVolume(2,2,2);
Neste caso, a função não retorna nenhum valor, então não precisamos criar uma
variável para armazenar o valor do volume fora da função. Porém, agora temos um
conceito muito importante: escopo da variável.
Quando criamos esses blocos de código, seja através de um laço de repetição, seja
através de uma função, as variáveis criadas dentro desse bloco, existem apenas enquanto
ele está sendo executado. Em palavras mais técnicas, as variáveis criadas dentro de
blocos são chamadas de variáveis locais, e não podem ser acessadas fora de seu escopo
( fora do bloco em que foram criadas).
Isto significa que não podemos chamar a variável “v”, fora da função que ela foi
criada, “logVolume”, além de que, assim que a última linha dessa função for executada,
essa variável deixa de existir, e seu valor é apagado.
Até agora, cada variável armazenava um único dado. Porém, muitas vezes, os
dados devem estar agrupados, de forma a simplificar o acesso aos mesmos e a busca por
informações. Por exemplo, quando tentamos salvar dados de um contato, nós criamos
uma variável para salvar o nome, uma para o telefone, uma para o e-mail… Ou seja, várias
variáveis diferentes, para uma única pessoa. Se quisermos armazenar os dados de 2
contatos, deveríamos fazer algo como o código abaixo:
Porém há uma maneira mais fácil de organizar os dados: utilizando objetos. Em JS,
objetos são um conjunto de dados, ou seja, variáveis, ou funções. Os dados têm
identificadores chamados de chaves, como no exemplo abaixo:
Observe que para acessar a função “dizerOi”, utilizamos a mesma metodologia que
fizemos com acessar as variáveis, utilizando “nome_variavel.método”. Entenda o ponto
como se estivéssemos acessando um conteúdo dentro do contexto à esquerda do ponto
(no caso, o nome da variável).
Também é possível fazer um array de objetos e, para demonstrar, vamos montar
um exemplo de agenda com dois contatos:
Agora que conhece mais sobre objetos em JavaScript, está na hora de aprender
sobre o que mais irá ouvir falar no mundo de desenvolvimento web: JSON (leia como se
fosse o nome do ator que faz o Aquaman, Jason Momoa).
Para testar tudo isso, vamos utilizar o reqres.in que disponibiliza diferentes dados de
maneira simples para teste. Para começar, faça um teste: acesse em seu navegador o link
https://reqres.in/api/users/2, e verá uma página parecida com a da imagem abaixo.
Veja que esse texto é parecido com algo que você já estudou neste curso: objetos
JS. Essa página que acabou de acessar retorna uma String com os dados do usuário 2, de
um sistema fictício. Agora, precisamos acessar os dados desse sistema em nosso software
e, para consegui-lo, utilizaremos o “fetch”, que significa “buscar” do JS. Veja o código
abaixo:
Eis que nossa jornada chega ao fim! Foi uma aventura longa, mas muitas
habilidades foram adquiridas até aqui. Espero que seja apenas o primeiro de vários
aprendizados que terá daqui para frente, e que tenha muito sucesso!
53
Instituto Federal de Minas Gerais
Pró-Reitoria de Extensão
53
Instituto Federal de Minas Gerais
Pró-Reitoria de Extensão
53
Currículo do autor
xx/xx/ xx/xx/
Carlos Dias da Silva Junior xxxx01/08/ Desginado pela proex xxxx02/08//2 1.0
2022 022
53
Instituto Federal de Minas Gerais
Pró-Reitoria de Extensão
53
Glossário de códigos QR (Quick Response)
Mídia digital
Mídia Digital
Preparação do
Ambiente de Variáveis
Trabalho
53
Instituto Federal de Minas Gerais
Pró-Reitoria de Extensão
53
Plataforma +IFMG
Formação Inicial e Continuada EaD