Prévia do material em texto
CURSO SANTANDER
MÓDULO 1 – LÓGICA DE
PROGRAMAÇÃO
Aula 02 – Introdução Ao Javascript
Dinâmico: interação com a paǵina.
Em alguns aspectos, JS parece Python, pois ambas tem tipagem fraca.
Funções podem ser tratadas como valores. JS aceita vários paradigmas de
programação: funcional, OO e estruturada.
Aula 03 – Setup
Pegar informação do usuário e usar no código:
prompt(“”): cria janela de entrada de informação.
Alert(“”): mostrar valores em janelas de diálogo. Soma de Strings é feita com +.
EX: alert("O número é: " +input);
alert(“”) e prompt(“”): gera uma janela de diálogo que permite mostrar informações.
Input(“”): solicita entrada de dados através de uma janela com campo de texto.
Aula 04 – Variáveis
Em JS variáveis podem ser declaradas depois de serem utilizadas, pois são
levantadas para o início do escopo. Esse processo chama-se hoisting.
Cada tipo de informação ao ser armazenado ocupa um espaço diferente na memória.
Por isso, linguagens lidam com isso de maneira diferente.
Ponto e virgula deixa registrado que o comando foi finalizado.
JS não exige que você declare o tipo da variável.
String: sequencia de caracteres.
Escopo: espaço no código em que a variável existe e pode ser acessada. Por
exemplo, uma função. A palavra de declaração var faz com que a variável escape do
escopo, podendo gerar conflitos. A palavra let garante que a variável não escapa do
escopo.
Tipos complexos de dados em JS: funções, objetos, classes, vetores;
Em JS é possível declarar uma variável com uma função. EX:
exemploDeclaracaoFuncao = function (){};
Todas as variáveis usadas devem estar com o valor definido para serem usadas.
Valor null: não guarda nenhum valor.
Em variáveis constantes, dá erro assignment to constant value ao tentar mudar o
valor que já foi declarado.
Aula 05 – Condicionais
Uma condição é uma operação lógica que tem como resultado um valor booleano.
Operador tenário é representado por ? . EX: let paridade = x % 2 === 0 ? 'par' :
'impar'; Primeiro colocamos a condição a ser verificada, no caso x % 2 === 0 onde % é o
operador que retorna o resto da divisão. Ou seja, a condição é se o resto da divisão é igual a
zero. Se sim, guardamos a string 'par' na variável, se não, 'impar'. Note que os valores são
separados por : (dois pontos).
O comando new Date().getDay() retorna o dia atual como um inteiro, começando em
0 no domingo e indo até 6 para o sábado.
truthy e falsy: outras informações que não são booleanos e que o JS os interpreta
como se fosse true ou false. Uma utilidade dessa característica é verificar se uma variável
está definida antes de usá-la.
• Exemplo de falso (Todos os demais são interpretados como verdadeiro.):
◦ 0
◦ '' ou ""
◦ null
◦ undefined
◦ NaN
• Exemplo de truthy:
◦ []
◦ {}
◦ function (){}
Condicionais: código toma decisões sozinho, baseado em condições. Condições são
uma forma de tratar os dados de uma forma apropriada.
Swicth → default: define uma ação padrão a ser executada quando nenhuma das
opções é válida e o código fica coberto para todas as possibilidades.
Aula 06 – Laços de repetição
Laços de repetição: conjunto de código é repetido enquanto uma situação é
verdadeira ou por um certo número de vezes. Laços precisam ter uma condição que
se torne falsa a um momento para o loop não ser infinito, por isso, algum valor de
variável usada na condição é incrementado.
While sempre verifica a condição antes de executar o código. Pode não ser
executado (se a condição for falsa por exemplo).
Para ser executado pelo menos uma vez, usar o do {} while (), executa e verifica para
ver se continua executando ou não.
While é útil quando não sabemos quantas vezes o código deve seer executado.
Aula 07 – Vetores e matrizes
Além de índice numérico é possível fazer índice associativo usando strings.
Exemplo:
vetor['indice1'] = 'teste';
vetor['indice2'] = 'teste2';
Vetores são heterogêneos, isto é, podem guardar valores de tipos diferentes.
Porém, uma boa prática é construir vetores de um único tipo de dado.
Usando a estrutura de repetição for é possível percorrer todos os elementos de
um vetor:
let vetor = [1,2,3,4,5,6,7,8,9,10];
for(let i = 0; i a+b;
Não é possível fazer qualquer restrição de tipo de entrada como parâmetro de
uma função. Isso permite flexibilidade, mas caso seja passado algo que não era
esperado, possivelmente quebrará o código.
Funções permitem peutilização de código para escalar o código sem aumentá-
lo muito em tamanho.
Para a função ser executada ela tem que ser chamada (não apenas declarada).
Declarar uma variável constante com cons e declará-la como uma função
permite que ninguém sobrescreva a função ao longo do programa. EX:
cons somar = function (a,b) { return a + b; }
Aula 09 – Funções de alta ordem
Como uma função pode ser salva em uma variável, uma função também pode
ser passada como parâmetro para outra função: funções de alta ordem. Um função
também pode ser retornada. Exemplo:
Aula 10 – Map
No contexto de manipulação de vetores, se formos construir um novo ou mudar
o próprio vetor precisamos fazer um loop. A função tira a necessidade de construir
um for para manipular o vetor: a função map, que recebe uma função como
parâmetro e que manipula os itens do vetor.
A função map pode ser construída de três formas: recebendo 1 ou 2 ou 3
parâmetros:
• 1: parâmetro é o valor do elemento do vetor
• 2: parâmetros são o valor do elemento no vetor e sua posição no vetor
• 3: parâmetros são o valor do elemento, posição do elemento e o vetor inteiro
Função parseInt: lê o texto e o transforma em número. Exemplo dessa função com
parseInt:
Aula 11 – Filter
A diferença entre a função Map e Filter é: ao invés de retornar o valor
manipulado, retorna-se um valor verdadeiro ou falso. Se for V, mantém o elemento,
se for F, retira-se o elemento do vetor. Exemplo com notação de flecha:
Exemplo com notação usando palavra-chave function (função anônima):
Aula 12 – Reduce
Diferente de Map e Filter, agrega ao valor, reduzindo o vetor a um objeto ou
valor. Pega o vetor, percorre ele, e vai salvar o que estamos manipulando numa certa
variável de estado. Deve-se salvar esse estado e ao percorrer o vetor atualizar essa
variável de estado. Além de passar informações do vetor (valor, posição ou próprio
vetor) como parâmetro da função passada para o reduce, precisamos passar
também essa variável de estado. O parâmetro do reduce é a função anônima que
será a operação que será executada dentro do reduce. O reduce exige no mínio 2
parâmetros para essa função anônima de parâmetro: estado e elemento do vetor
(item). Exemplo com função em notação de flecha:
Se um elemento do vetor tá recebendo o estado atualizado vindo do anterior,
então que estado recebe o primeiro elemento do vetor? Para isso, pode-se definir um
estadoinicial. Se não se passar explicitamente o estado inicial que o primeiro
elemento recebe, o reduce vai assumir que queremos passar o primeiro elemento
como estado para o segundo.
Exemplo → soma de todos os elementos da primeira e da segunda coluna,
somar todos os elementos da terceira e da quarta coluna, somar todos os elementos
da quinta e da sexta coluna, rsultando em um vetor com três elementos: