Skip to content

Latest commit

 

History

History
674 lines (496 loc) · 28.3 KB

readMe.md

File metadata and controls

674 lines (496 loc) · 28.3 KB

30 Dias de JavaScript

# Dia Tópicos
01 Introdução
02 Tipos de Dados
03 Booleanos, Operadores, Data
04 Condicionais
05 Arrays
06 Loops
07 Funções
08 Objetos
09 Higher Order Functions
10 Sets and Maps
11 Destructuring and Spreading
12 Expressões Regulares
13 Método Console Objeto
14 Tratamento de Errors
15 Classes
16 JSON
17 Armazenamento na Web
18 Promises
19 Closure
20 Escrevendo Código Limpo
21 DOM
22 Manipulando DOM Objetos
23 Event Listeners
24 Mini Projeto: Sistema Solar
25 Mini Projeto: Visualização de Dados de Paises do mundo
26 Mini Projeto: Visualização de Dados de Paises do mundo 2
27 Mini Projeto: Portfólio
28 Mini Projeto: Leaderboard
29 Mini Projeto: Caracteres Animados
30 Projetos Finais

🧡🧡🧡 HAPPY CODING 🧡🧡🧡

Dê suporte ao Autor para criar mais materiais educacionais
Paypal Logo

30 Dias de JavaScript: Introdução

Twitter Follow

Autor: Asabeneh Yetayeh
Janeiro, 2020

🇬🇧 English 🇪🇸 Spanish 🇮🇹 Italian 🇷🇺 Russian 🇹🇷 Turkish 🇦🇿 Azerbaijan 🇰🇷 Korean 🇻🇳 Vietnamese 🇵🇱 Polish 🇧🇷 Portuguese

Dia 2 >>

Trinta Dias de JavaScript

📔 Dia 1

Introdução

Parabéns Em decidir de participar do desafio 30DaysOfJavaScript. Neste desafio você aprenderá tudo que precisa para ser um programador JavaScript, e em general, todo o conceito de programação. No fim do desafio voce estará adquirindo o Certificado de conclusão do desafio 30DaysOfJavaScript. Em caso de precisar de ajuda ou se preferir ajudar outros você pode entrar no Grupo Telegram.

30DaysOfJavaScript desafio é um guia tanto para iniciantes e Avançados JavaScript Desenvolvedores, Bem vindo ao JavaScript. JavaScript é a linguagem da internet. Eu me divirto em usar e ensinar JavaScript e eu acredito que voce fará tambem.

Neste passo a passo do desafio JavaScript, você aprenderá JavaScript, a mais popular linguagem de programação da história da humanindade. JavaScript é usado para adicionar interatividade aos websites, desenvolvimento de mobile apps, desktop aplicações, jogos e nos dias de hoje JavaScript pode ser usado para machine learning e AI. JavaScript (JS) Teve um aumento na popularidade nos últimos anos e segue como a linguagem de programação líder por seis anos consecutivos e é a linguagem de programação mais usada no GitHub

Requisitos

Sem conhecimentos prévios de programação é exigido para seguir este desafio. Precisará apenas:

  1. Motivação
  2. Um computador
  3. Internet
  4. Um navegador
  5. Um editor de Código

Setup

Eu acredito que voce tem a motivação e o forte desejo de ser um desenvolvedor, um computador e internet. Se voce tem isso, então você tem tudo para iniciar.

Instalação Node.js

Você pode não precisar do Node.js agora mas você precisará mais tarde. Instalação do node.js.

Node download

Depois do download click duplo no ícone e intalar

Instalação node

Nós podemos verificar se o Node está instalador na nossa máquina local abrindo nosso terminal do dispositivo ou prompt de comando.

asabeneh $ node -v
v12.14.0

Enquanto fazia este tutorial eu estava usando a versão 12.14.0 do Node, mas agora a recomendada versão do Node.js para dowload é v14.17.6, pelo tempo que você usar este material pode haver versão mais atual do Node.js.

Navegador

Existe muitos navegadores por ai, Entento, Eu fortemente recomento o Google Chrome.

Instalando Google Chrome

Instalar o Google Chrome se você não tem um ainda. Nós podemos escrever um pequeno código de JavaScript no console do browser, mas nós não usamos o console do navegador para desenvolver aplicações.

Google Chrome

Abrindo o Google Chrome Console

Você pode abrir o Google Chrome console por um ou outro clicando nos 3 pontos no topo do lado direito do navegador, selecionando _Mais ferramentas -> Ferramenta para desenvolvedores ou usando o atalho do teclado. Eu prefiro os atalhos.

Abrindo o chrome

Para abrir o console do Chrome usando o atalho do teclado.

Mac
Command+Option+J

Windows/Linux:
Ctl+Shift+J

Abrindo o console

Depois de você abrir o console do Google Chrome, tente explorar os botões marcados. Nós vamos passar a maior parte do tempo no Console. O Console é o lugar onde vai seu código de JavaScript. O Console do Google Chrome V8 engine muda seu codigo de JavaScript para código de máquina. Vamos escrever códigos de JavaScript no Google Chome console:

Escrevendo codigo no console

Escrevendo Código no console do Navegador

Nós podemos escrever qualquer código de JavaScript no console do Google Chrome ou qualquer outro console de navegador, para este desafio, nós vamos focar no Console do Google Chrome. Abra o Console usando:

Mac
Command+Option+I

Windows:
Ctl+Shift+I
Console.log

Para escrever nosso primeiro código em JavaScript, vamos usar uma função built-it console.log(). Nós passamos um argumento como dados de input, e a função mostra o output. Nós passamos 'Olá, Mundo!' como dados de input ou argumento na função console.log().

console.log('Olá, Mundo!')
Console.log com Múltiplos Argumentos

A funçao console.log() pode receber múltiplos parâmetros separados por vírgulas. A sintaxe é similar ao seguinte modo:console.log(param1, param2, param3)

console.log com Múltiplos Argumentos

console.log('Olá', 'Mundo', '!')
console.log('Feliz', 'Ano', 'Novo', 2020)
console.log('Bem vindo', 'aos', 30, 'Dias', 'de', 'JavaScript')

Como você pode ver pelo trecho de código acima, console.log() pode receber múltiplos argumentos.

Parabéns! Você escreveu seu primeiro código de JavaScript usando console.log().

Comentários

Nós podemos adicionar comentários para nosso código. Comentários são importantes para facilitar a leitura do código e deixar observações. O JavaScript não executa as partes com comentário no nosso código. No JavaScript, qualquer linha de texto começando com // é um comentário, e tudo anexo como isto // tambem é um comentário.

Exemplo: Comentário de linha única

// Este é o primeiro comentário  
// Este é o segundo comentário
// Eu sou um comentário de linha única

Exemplo: Comentários Várias Linhas

/*
  Isto é um comentário de várias linhas  
  Várias linhas de comentários.
  JavaScript é a Linguagem da Web
 */
Sintaxe

Linguagens de programação são similares com a linguagem humana. Portugês ou qualquer outra linguagem usa palavras, frases, orações, períodos, e outras mais para criar uma mensagem com significado. A definição em Português de sintaxe é _ Estrutura essencial para que frases, orações e períodos façam sentido e sejam de fácil compreensão por parte do leitor_. A definição técnica é a estrutura de declarações em uma linguagem de computador. Linguagens de programação tem sintaxes. JavaScript é uma linguagem de programação como outras linguagens de programação tem sua própria sintaxe. Se nós nao escrevermos uma sintaxe que JavaScript entenda, diferentes tipos de errors aparecerá. Nós iremos explorar diferentes tipos de errors no JavaScript depois. Por enquanto, vamos ver sintaxes de errors.

Error

Eu fiz uma confusão proposital. Como resultado, criou vários errors. Na realidade, a sintaxe é muito informativa. Informa quais tipos de errors foi feito. lendo as mensagens do feedback de error, nós podemos corrigir a sintaxe e resolver o problema. O processo de identificar e remover errors de um programa é chamado de Debugging. Vamos resolver os errors:

console.log('Olá, Mundo!')
console.log('Olá, Mundo!')

Até agora, nós vimos como exibir texto usando o console.log(). Se estamos imprimindo texto ou string usando console.log(), o texto tem que estar dentro de uma aspa simples, aspas duplas, ou crase.

Exemplo:

console.log('Olá, Mundo!')
console.log("Olá, Mundo!")
console.log(`Hello, World!`)

Aritimética

Agora, vamos praticar escrevendo mais códigos JavaScript usando console.log() no console do Google Chrome para números e tipos de dados. Em adição ao texto, nós podemos tamem fazer calculos matemáticos usando javaSCript. Vamos fazer calculos simples a seguir. É possivel escrever códigos JavaScript no console do Google Chome diretamente sem o função console.log() Entretanto, está incluso nesta introdução porque maior parte deste desafio pode ocorrer no editor de texto onde o uso de funcões pode ser mantario. Você pode brincar diretamente com ins

Arithmetic

console.log(2 + 3) // Adição
console.log(3 - 2) // Subtração
console.log(2 * 3) // Muiltiplição
console.log(3 / 2) // Divisão
console.log(3 % 2) // Modulo - Resto da divisão
console.log(3 ** 2) // Exponenciação 3 ** 2 == 3 * 3

Editor de Código

Nós podemos escrever nosso código no console do navegador. mas isso nao é usado para grandes projetos. No anbiente real de trabalho, desenvolvedores usam diferentes editores para escrever seus códigos. Neste desafio 30 dias de JavaScript, nós iremos utilizar o Visual Studio Code.

Instalando o Visual Studio Code

Visual Studio Code é editor de texto open-source muito popular. Eu poderia recomendar o download Visual Studio Code, mas se você está familiarizado com outro editor, sinta livre para seguir oque você tem.

Vscode

Se você instalou o Visual Studio Code, Vamos começar usando-o.

Como Usar o Visual Studio Code

Abra o Visual Studio Code clicando duas vezes com o mouse no ícone. Quando abrir, você terá esta interface. Tente interagir com os ícones rotulados.

Vscode ui

Vscode add project

Vscode open project

script file

Installing Live Server

running script

coding running

Adicionando JavaScript Para uma Página na Web

JavaScript pode ser adicionado para uma página na internet em três diferentes maneiras:

  • Script em linha
  • Script Interno
  • Script Externo
  • Múltiplos Scripts Externos

As diferentes sessões mostra diferentes maneiras de adicionar códigos JavaScript para sua página na web.

Inline Script

Crie uma pasta do projeto no seu desktop ou em qualquer localização, nomeie de 30DaysOfJS e crie um index.html documento na sua pasta do projeto. Então copie os seguintes códigos e abra-o no navegador, por exemplo Chrome.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>30DaysOfScript: Script em linha</title>
  </head>
  <body>
    <button onclick="alert('Welcome to 30DaysOfScript!')">Clique</button>
  </body>
</html>

Agora, você escreveu seu primeiro script em linha. Nós podemos criar uma mensagem pop up usando o alert() função built-it

Script Interno

O script interno pode ser escrito no head ou body, mas é preferível colocar no body do documento HTML.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>30DaysOfScript: Script Interno</title>
    <script>
      console.log('Welcome to 30DaysOfJavaScript')
    </script>
  </head>
  <body></body>
</html>

Isto é como nós escrevemos scripts internos na maioria das vezes. Escrevemos o código de JavaScript na sessão body é a mais preferida opção. Abra o console do navegador e veja o output do console.log().

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>30DaysOfScript: Internal Script</title>
  </head>
  <body>
    <button onclick="alert('Welcome to 30DaysOfJavaScript!');">Click</button>
    <script>
      console.log('Welcome to 30DaysOfJavaScript')
    </script>
  </body>
</html>

Abra o console do navegador e veja o output do console.log().

js code from vscode

Script Externo

Similar com o script interno, o link do script externo pode estar no header ou body, mas é mais indicado colocar no body do documento. Primeiro, nós podemos criar scripts externos de JavaScript com a .js extensão. Todos os arquivos terminados com a .js extensão são JavaScript documentos. Crie uma pasta nomeada Introdução.js dentro do diretório do projeto e escreva o seguinte código e copie o link do arquivo .js no bottom do body.

console.log('Welcome to 30DaysOfJavaScript')

Scripts Externo no head:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>30DaysOfJavaScript: Script Externo</title>
    <script src="introduction.js"></script>
  </head>
  <body></body>
</html>

Scripts Externo no body:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>30DaysOfJavaScript: Scripts Externo</title>
  </head>
  <body>
    

    <!-- JavaScript link externo pode estar no header ou no body --> 
    <!-- Antes do fechamento da tag do body é o lugar recomendado para colocar o script do JavaScript externo --> 
    <script src="introduction.js"></script>
  </body>
</html>

Abra o console do navegador para ver o output do console.log().

Múltiplos Scripts Externos

Nós tambem podemos colocar o link de vários arquivos externos de JavaScript em uma página web. Crie um helloworld.js documento dentro da pasta 30DaysOfJS e escreva o seguinte código.

console.log('Olá, Mundo!')
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Múltiplos Scripts Externo</title>
  </head>
  <body>
    <script src="./helloworld.js"></script>
    <script src="./introduction.js"></script>
  </body>
</html>

Seu arquivo main.js deve estar abaixo de todos os outros scripts. E isto é muito importante de relembrar

Multiple Script

Introdução a tipo de Dados

Em JavaScript e tambem em outras linguagens de programação, existem vários tipos de dados. Os seguintes são tipos de dados primitivos do JavaScript: String, Number, Boolean, undefined, Null, and Symbol.

Números

  • Integers: Inteiros (Negativo, zero e positivos) números Examplo: ... -3, -2, -1, 0, 1, 2, 3 ...
  • Float-point numbers: Números decimais. ... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ...

Strings

Uma coleção de um ou mais caracteres entre duas aspas simples, aspas duplas, ou crase.

Examplo:

'a'
'Asabeneh'
"Asabeneh"
'Finland'
'JavaScript is a beautiful programming language'
'I love teaching'
'I hope you are enjoying the first day'
`We can also create a string using a backtick`
'A string could be just as small as one character or as big as many pages'
'Any data type under a single quote, double quote or backtick is a string'

Booleans

Um valor boleano ou é verdadeiro ou falso. Qualquer comparação retorna um valor booleano, que pode ser entre verdadeiro ou falso.

Um tipo de dado boleanno é verdadeiro ou um valor falso

Examplo:

true // if the light is on, the value is true
false // if the light is off, the value is false

Undefined

Em JavaScript, se nós não atribuirmos um valor a uma variável, o valor é undefined. Em adição a isto, se uma funcção não está retornando nada, ela retorna undefined

let firstName
console.log(firstName) // undefined, because it is not assigned to a value yet

Null

Null em JavaScript significa um valor vazio.

let valorVazio = null

Verificando Tipos de Dados

Para verificar o tipo de dado de uma determinada variável, nós usamos o operador typeof. Veja o seguinte exemplo.

console.log(typeof 'Asabeneh') // string
console.log(typeof 5) // number
console.log(typeof true) // boolean
console.log(typeof null) // object type
console.log(typeof undefined) // undefined

Comentários novamente

Lembre que comentando no JavaScript é similar à outras linguagens de programação. Comentários são importantes em fazer mais fácil a leitura do seu código. Existe dois modos de comentar:

  • Comentando em linha única
  • Comentando em várias linhas
// Comentando o código com um único comentário
// let firstName = 'Asabeneh'; Comentando em linha única_
// let lastName = 'Yetayeh'; Comentando em linha única_

Comentando em várias linhas:

/*
  let location = 'Helsinki';
  let age = 100;
  let isMarried = true;
  Isto é um comentário em linha única
*/

Variáveis

Variáveis são containers de dados. Variáveis são usadas para armazenar dados na memória alocada. Quando variáveis são declaradas, uma memória alocada é reservada. Quando uma variável é atribuída para um valor (dados), espaço na memória irá ser preenchido com aqueles dados. Para declarar uma variável, nós usamos as palavras-chaves var, let, ou const.

Para uma variável que muda com o tempo, nós usamos let. Se os dados não vão mudar, nós usamos const. Por exemplo, PI, nome de país, gravidade não muda, e nós podemos usar const. Nós não vamos usar var neste desafio e eu nao recomendo usa-lo. Nós vamos falar mais sobre var, let, e const em detalhes em outras sessões (scope). Por enquanto, a explicação acima é suficiente.

Um nome de variável em JavaScript apenas segue a seguinte regra:

  • Um nome de variável não deverá começar com um número.
  • Um nome de variável não pode permitir caracteres especiais exceto o sinal do dólar e underscore.
  • Um nome de variável segue a convenção camelCase.
  • Um nomede variável não deve ter espaços entre as palavras.

Os seguintes exemplos são de variáveis válidas em JavaScript.

firstName
lastName
country
city
capitalCity
age
isMarried

first_name
last_name
is_married
capital_city

num1
num_1
_num_1
$num1
year2020
year_2020

A primeira e a segunda variável na lista segue a convenção camelCase de declaração no JavaScript. Neste material, nós vamos usar variáveis em camelCase (camelWithOneHump). Nós usamos CamelCase (CamelWithTwoHump) para declarar classes, nós vamos discutir sobre classes e objetos em outras sessões.

Exemplo de variáveis invalidas:

  first-name
  1_num
  num_#_1

Vamos declarar variáveis com diferentes tipos de dados. Para declarar uma variável, nós precisamos usar as palavras-chaves let ou const antes de um nome de variável. Após o nome da variável, nós escrevemos um sinal de igual (operador de atribuição), e um valor (dados atribuidos).

// Sintaxe
let nameOfVariable = value

O nomeDaVariavel é o nome que armazena diferente tipos de dados. Veja abaixo exemplos para mais detalhes.

Exemplos de variáveis declaradas

// Declarando diferentes variáveis de diferentes tipos de dados
let firstName = 'Asabeneh' // primeiro nome de uma pessoa
let lastName = 'Yetayeh' //  ultimo nome de uma pessoa
let country = 'Finland' // país
let city = 'Helsinki' // capital da cidade
let age = 100 // Idade
let isMarried = true

console.log(firstName, lastName, country, city, age, isMarried)
Asabeneh Yetayeh Finland Helsinki 100 true
// Declarando variáveis com o valor numérico
let age = 100 // idade
const gravity = 9.81 // gravidade na terra em m/s2
const boilingPoint = 100 // ponto de ebulição da água, temperatura em °C
const PI = 3.14 // constante geométrica
console.log(gravity, boilingPoint, PI)
9.81 100 3.14
// Variáveis tambem podem ser declaradas em uma linha separadas por uma vírgula, entretanto eu recomento usar a separação por linha para facilitar a leitura do código
let name = 'Asabeneh', job = 'teacher', live = 'Finland'
console.log(name, job, live)
Asabeneh teacher Finland

Quando você executa o arquivo index.html na pasta dia-1 você deve conseguir isto:

Day one

🌕 Você é incrivel! Você acabou de completar o desafio do dia 1 e você está no seu caminho para o sucesso. Agora faça alguns exercícios para seu cérebro e músculos.

💻 Dia 1: Exercícios

  1. Escreva um comentário de linha única que diga, comentários faz seu código ser fácil de ler
  2. Escreva outro comentário de linha única que diga, Welcome to 30DaysOfJavaScript
  3. Escreva um comentário de várias linhas que diga, comentários faz seu código ser fácil de ler, fácil de reusar e informátivo
  4. Crie um arquivo variavel.js e declare variáveis e atribua uma string, boolean, undefined e null
  5. Crie um arquivo tiposdedados.js e use o JavaScript typeof operador para verificar diferentes tipos de dados. Verifique o tipo de dado de cada variável
  6. Declare quatro variáveis sem atribuir valores
  7. Declare quatro variáveis e atribuir valores
  8. Declare variáveis para armazenar seu primeiro nome, ultimo nome, estado civil, país e idade em multiplas linhas
  9. Declare variáveis para armazenar seu primeiro nome, ultimo nome, estado civil, país e idade em uma única linha
  10. Declare duas variáveis minhaIdade e suaIdade e atribua valores iniciais e mostre no console do navegador.
I am 25 years old.
You are 30 years old.

🎉 PARABÉNS ! 🎉

Dia 2 >>