Escolar Documentos
Profissional Documentos
Cultura Documentos
Lógica de programação
Pra fazer nosso bolo precisamos executar uma serie de instruções, como:
1. Separar ingredientes
Sabemos que essa receita precisa ser executada exatamente em uma ordem
para que no final tenhamos um bolo pronto, imagina se fizermos as coisas
separadas e esquecermos de juntar no final, não dará certo, logo temos que
pensar lógicamente todas as intruções que precisamos seguir para finalizar o
bolo.
Para criar um valor, você precisar chamar por ele. Mas todo valor precisa ser
armazenado em algum lugar, nos bits. Pra utilizar um valor você dará um
apelido a ele e o chamará por esse apelido. Exemplo:
Assim sempre que eu for precisar armazenar alguma informações nesse valor
irei chama-lo por ser apelido.
O que aprendemos?
Seu console pode ter aberto na parte de baixo em vez de à direita dessa forma.
Sem problemas. Você pode movê-lo usando este menu aqui com os três
pontos.
Então talvez ele tenha aberto na parte de baixo. Se este for o caso e você
quiser que ele fique à direita como o meu, é só clicar aqui e depois neste botão,
"Dock to right". Mas a posição dele não importa. Funciona da mesma forma.
Aliás, o console permanecerá aberto nesta aba até que você o feche, mesmo
se você visitar outra página. Se quiser fechá-lo, você precisa fazer isso
ativamente.
Definindo variáveis
Para definir uma variável no JavaScript, utilizamos a palavra let. Por exemplo:
Tipos de variáveis
String
Number
Boolean
Array
Note que o valor nos colchetes, é zero. É porque todos os arrays iniciam a sua
contagem de índices a partir do 0.
Object
Nós conseguimos acessar os dados de um objeto dessa forma:
Gostaríamos de manter todo o JavaScript em um arquivo separado, e
simplesmente usar uma tag <script> para fazer o link até ele. Às vezes, é isso
que você fará, pois as coisas podem ficar um pouco bagunçadas ao misturar
HTML com JavaScript em um único arquivo. Vamos testar!
Agora vamos colocar um pequeno código em nosso arquivo .js para que
possamos realmente ver isso funcionando. Um simples console.log() resolve.
console.log("Funcionou!")
Olá! Nessa aula iremos aprender como podemos fazer operações matemáticas
no JavaScript.
x=y
x = y não retorna true ou false; ele retorna 4! Nós acabamos de atribuir o valor
de y à variável x. Portanto x é 4 agora. Opa!
x === y // true
x=3
x === y // false
Mas por que três sinais de igualdade? Se um é usado para atribuição e três
são usados para verificar a igualdade, o que dois sinais fazem? Bem, o
JavaScript é um pouco estranho. Dois sinais de igualdade também são usados
para verificar igualdade, mas eles funcionam de um modo um pouco diferente.
A verdade é que quase nunca há um bom motivo para usar dois, então vamos
nos acostumar a usar três. Combinado?
x < 5 // true
x > 2 // true
x < 0 // false
3 < 6 // true
https://player.vimeo.com/video/440422175
A maioria dos programas que escrevemos não irão simplesmente rodar uma
série de instruções estritamente sempre na mesma ordem. Quase sempre há
alguma ramificação ocorrendo. Algo tipo se isso, faça aquilo.
Nos aprofundaremos nisso com mais detalhes mais para frente, mas por
enquanto, basta saber que isso existe.
JAVASCRIPT: Arrays
Olá! Hoje vamos aprender mais sobre os arrays que comentamos em algumas
aulas passadas.
Um array pode conter qualquer número de itens, e cada item pode ser de
qualquer tipo de dado, incluindo outro array. É possível misturar diferentes tipos
de dados dentro de um único array. Vamos ver como isso funciona.
Você pode criar um array literal usando colchetes para demarcar o início e o
fim de um array, da mesma forma que você faz com as aspas nas strings.
Então [] é um array vazio, um array sem itens.
Para colocar coisas no array quando você o criar, basta colocar esses dados
entre colchetes, com uma vírgula separando-os.
Claro, por que não! Que tal um array que contém alguns números e strings?
Por que? Só para mostrar que podemos fazer isso! E como você deve estar
imaginando, podemos usar variáveis dentro dos colchetes, ou até mesmo
expressões.
Não preciso usar let novamente, pois já defini essa variável. Estou apenas
atribuindo um novo valor a ela.
Certo. Agora tenho uma lista de frutas. O que posso fazer com isso? Bem,
posso obter um item do array. Cada item de um array tem um índice numérico,
que diz quantos itens há do começo do array até que esse item apareça. Então
isso significa que o primeiro item, na verdade, tem índice 0, e não 1, pois há
zero itens entre o começo do item e o primeiro item. Ele está bem no começo!
Portanto neste array, 'apple' tem índice 0, 'banana' tem índice 1, e 'pear' tem
índice 2. Lembre-se, ele sempre começa em zero, e o último índice sempre
será igual à quantidade de itens no array menos um. Aqui temos três itens,
portanto o índice final é 2. Sacou?
Agora que você sabe sobre os índices, podemos obter um item do array ao
colocar o índice do array que queremos obter dentro do par de colchetes
depois do array.
Então o que é fruit[1]? É 'banana', certo? Não é 'apple'. 'apple' seria fruit[0],
certo? Então o que acontece se eu tentar obter um índice que não existe lá?
Certo, então é assim que você obtém um item de um array. Como você
pode modificar um item de um array?? Bem, você pode fazer isso da mesma
forma. Basta colocá-lo em uma atribuição.
Verifique o array e você verá que 'pear' foi substituída por 'orange'. E se eu
fizer isso com um índice que ainda não existe?
Isso adiciona o item novo ao índice apropriado, deixando espaços vazios onde
necessário. Interessante! Então qual é o fruit.length agora?
Sim isso funciona. Mas há um método especial para adicionar um novo item ao
final de um array: Array.push().
Isso faz a mesma coisa. E também há um método para remover o último item
do array: Array.pop(). Ele também retorna o item que está sendo removido,
então você consegue armazená-lo em uma variável ou algo assim se você
quiser.
O removedItem é 'utahraptor', e se olharmos para o array novamente, podemos
ver que ele foi removido do final da lista.
Há muitos outros métodos de array que você aprenderá com o tempo, mas
esse já é um bom começo.
Primeiro, vou criar uma variável de loop para manter o registro da nossa
posição dentro do array. Por convenção, chamaremos esta variável de i,
de índice. E já que os arrays começam em zero, vamos inicializar nossa
variável de loop em 0.
Agora nosso loop. Nossa condição deve envolver essa variável de loop.
Que tal i < fruit.length?
Qual o último índice do array? É 2, certo? Isso é um a menos do que o
length do array, portanto desde que i seja menor que o length, vamos
continuar. Porém, quando ele chegar no final, terminamos. Muito bem.
Agora, vamos fazer alguma coisa de verdade dentro do loop. Que tal se
imprimirmos "The" e depois quisermos puxar o item atual do array. O array
é fruit, e para o item atual, vamos usar colchetes para puxar o item de um
determinado índice. E qual índice queremos? Não vamos colocar 0, 1,
ou 2 ali. Vamos usar i, para puxar o item atual, seja qual for este item.
Depois vou concatenar " was delicious."
Opa! Ele imprimiu "The apple was delicious." 511 vezes. Temos um loop
infinito aqui. Eu avisei sobre eles. E agora, como arrumar isso? No Chrome,
você pode clicar nesse menu aqui [os três pontos no canto superior direito],
ir em "Mais Ferramentas", "Gerenciador de Tarefas", e encontrar a aba com
o loop infinito, que seria um loop while, bem aqui, e depois clicar em
"Finalizar Processo". Ufa! Certo. Loop infinito salvo.
Qual é o problema aqui? Ele imprimiu "The apple was delicious." 7.772
vezes. Por que? Por que ele não avançou para a "banana"? Bem, nós
esquecemos do incrementador. As três partes de um loop que falamos
antes são a variável de loop, a condição, e o incrementador. Se você não
incrementar, ele nunca chegará na condição falsa, não é? Portanto o loop
nunca irá parar de rodar. Então precisamos dizer i++.
Vamos tentar de novo. Recarregando. E desta vez temos, "The apple was
delicious," "The banana was delicious," "The orange was delicious." Certo,
muito melhor.
Que tal se fizermos o loop de dois arrays ao mesmo tempo? Uau, isso é
muito chique! Vamos fazer o loop uma vez. Teremos um segundo array aqui,
de frases. O que você acha?
Ótimo. E agora que tal isso? Vamos dizer 'The ' + fruit[i] +, e depois, em vez
de digitar a frase aqui, vamos simplesmente usar phrases[i]. Que tal?
Então eu reutilizei o mesmo índice, i, com o segundo array, pois o segundo
array tem o mesmo número de itens que o primeiro. Então funciona certinho.
Vou atualizar e:
The apple was delicious. The banana was old and gross. The orange was
not yet ripe.
Depois vem a condição, que será calculada toda vez antes de rodar o bloco.
Se ela for falsa, o bloco não é executado e a execução passa direto por ele.
Depois há a expressão final, que roda toda vez depois da execução do
bloco, mas antes de a condição ser verificada novamente. Na verdade,
todas às três expressões são opcionais, mas se você deixá-las de fora, eu
não entenderia porquê você decidiu usar o loop for.
Então temos uma expressão que roda antes de o loop ser rodado, uma
condição, e uma expressão que roda entre cada execução do bloco. Isso
parece uma oportunidade perfeita para tipos de loop que estamos fazendo.
Você pode usar essas expressões para fazer algo diferente, mas novamente
precisa ter certeza que eventualmente sua condição se torna falsa, ou você
terá um loop infinito em mãos.
Vamos testar?
Aqui temos um array de estados. Agora vamos usar uma declaração for para
fazer o loop deles.
Neste ponto, já passamos por todo o loop uma vez. Agora, na segunda vez,
não executamos a expressão inicial novamente. Fazemos isso apenas na
primeira vez. Desta vez, vamos diretamente para a condição. Mais uma vez,
a condição é verdadeira, então nós executamos o bloco novamente, desta
vez imprimindo "Now entering Alaska." Depois do bloco, rodamos a
expressão final e incrementamos o i. O i agora é 2. Foram duas vezes no
loop.
Objetos em Javascript
Introdução
Arrays são estruturas de dados simples, que podem receber diferentes valores
de diferentes formatos em cada um deu seus índices, uma ferramenta muito útil
para lidar com grupos de dados. Porém, por usar índices numéricas não
alteráveis, o controle desses dados podem se tornar dificultosos. Para isso
usamos Objetos, uma estrutura de dados um pouco mais complexa, mas muito
mais organizada.
O que é um Objeto?
Como exemplo, vamos imaginar que nos foi pedido para criar uma estrutura de
dados com informações de um livro em específico.
Por que Harry Potter aparece duas vezes? O que são esses números? O
exemplo acima vai totalmente contra todas as boas práticas de
desenvolvimento.
Usando um Objeto para armazenar esse mesmo registro, teriamos algo assim:
Dito isso, Arrays são estruturas de dados comumente usadas para armazenar
vários dados de mesmo tipo e para facilitar a iteração pelos seus itens. Por
outro lado, objetos são estruturas para modelagem de dados comumente
usadas para facilitar a organização de dados relacionados. Um Objeto NÃO é
iteravel.
Acessar, criar ou alterar um atributo de um Objeto.
Dentro de um objeto, seus atributos funcionam como uma variável que pode
ser acessada apenas por ele. Sendo assim, usando um "." temos acesso a
todos os atributos de um Objeto:
Para criar um novo atributo, novamente acessamos o nosso objeto, mas dessa
vez, depois do "." colocaremos o nome do novo atributo:
Leitura adicional
Um erro ocorrendo.
Aqui está uma lista de eventos (não completa) que são mais utilizados:
AddEventListener
Explicando o código:
Evento Input
Explicando o código:
3. Quando input receber uma ação, irá chamar a callback que atualizar o
valor de range
Evento Click
Explicando o código: