├── README.md ├── arrays ├── basico_1.js ├── basico_2.js ├── basico_3.js ├── desafio_for.js ├── for_1.js ├── for_2.js ├── metodos_1.js ├── metodos_2.js └── metodos_3.js ├── controle ├── break_continue.js ├── desafio_for.js ├── desafio_if.js ├── desafio_if_else.js ├── desafio_switch.js ├── extra_template_string.js ├── for_1.js ├── for_2.js ├── for_3.js ├── for_4.js ├── if_1.js ├── if_2.js ├── if_3.js ├── if_4.js ├── if_else_1.js ├── if_else_2.js ├── if_else_3.js ├── if_else_4.js ├── if_else_5.js ├── switch_1.js ├── while_1.js ├── while_2.js ├── while_3.js └── while_4.js ├── funcoes ├── com_funcao_1.js ├── com_funcao_2.js ├── desafio_funcao_1.js ├── desafio_funcao_2.js ├── desafio_funcao_3.js ├── extra_undefined.js ├── funcao_com_retorno_1.js ├── funcao_como_param_1.js ├── funcao_como_param_2.js ├── funcao_como_var_1.js ├── funcao_como_var_2.js ├── funcao_e_undefined.js ├── param_funcao_1.js ├── param_funcao_2.js ├── retornar_funcao_1.js ├── retornar_funcao_2.js ├── retornar_funcao_3.js ├── sem_funcao.js └── variacoes_funcao.js ├── inicio ├── bloco.js ├── comentario.js ├── dados_1.js ├── dados_2.js ├── dados_3.js ├── dados_4.js ├── desafio_area.js ├── desafio_sentenca_bloco.js ├── desafio_troca.js ├── sentenca_1.js └── sentenca_2.js ├── objetos ├── basico_1.js ├── basico_2.js ├── basico_3.js ├── basico_4.js ├── basico_5.js ├── classe_e_objeto_1.js ├── desafio_objeto_1.js ├── funcao_e_objeto_1.js ├── funcao_e_objeto_2.js ├── funcao_e_objeto_3.js └── problema_forma_literal.js └── operadores ├── aritmeticos.js ├── atribuicao.js ├── desafio_aritmeticos.js ├── desafio_atribuicao.js ├── desafio_logicos.js ├── desafio_relacionais.js ├── desafio_ternario.js ├── logicos_1.js ├── logicos_2.js ├── relacionais_1.js ├── relacionais_2.js ├── ternario_1.js ├── ternario_2.js ├── unarios_1.js ├── unarios_2.js └── unarios_3.js /README.md: -------------------------------------------------------------------------------- 1 | # Aprenda Programação do Absoluto ZERO! O Seu primeiro Curso. 2 | 3 | Mais informações em [aprenda-programacao-do-zero](https://www.cod3r.com.br/courses/aprenda-programacao-do-zero). -------------------------------------------------------------------------------- /arrays/basico_1.js: -------------------------------------------------------------------------------- 1 | // 0 1 2 3 4 5 2 | const notas = [7.8, 6.7, 10, 9.5, 7.8, 5.8]; 3 | 4 | console.log(notas); 5 | console.log(notas[3]); 6 | console.log(notas[5]); 7 | console.log(notas[10]); 8 | 9 | notas[4] = 8.7; 10 | 11 | console.log(notas); 12 | 13 | -------------------------------------------------------------------------------- /arrays/basico_2.js: -------------------------------------------------------------------------------- 1 | const nomes = []; 2 | 3 | nomes[0] = "Pedro"; 4 | nomes[1] = "Ana"; 5 | nomes[2] = "Bia"; 6 | nomes[3] = "Gui"; 7 | nomes[4] = "Rebeca"; 8 | nomes[9] = "Tiago"; 9 | 10 | console.log(nomes); 11 | -------------------------------------------------------------------------------- /arrays/basico_3.js: -------------------------------------------------------------------------------- 1 | console.log(typeof console); 2 | console.log(typeof console.log); 3 | 4 | const numeros = [1, 2, 3]; 5 | 6 | console.log(typeof numeros); 7 | 8 | numeros.push(4); 9 | numeros.push(5); 10 | numeros.push(10.98); 11 | 12 | console.log(numeros); 13 | console.log(numeros.length); -------------------------------------------------------------------------------- /arrays/desafio_for.js: -------------------------------------------------------------------------------- 1 | const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 2 | 3 | for(let i = numeros.length - 2; i >= 0; i -= 2) { 4 | console.log(numeros[i]); 5 | } -------------------------------------------------------------------------------- /arrays/for_1.js: -------------------------------------------------------------------------------- 1 | const numeros = [1, 2, 356, 4, 5, 6, 11, 45]; 2 | 3 | for(let i = 0; i < numeros.length; i++) { 4 | console.log(numeros[i]); 5 | } 6 | 7 | for(let i = 1; i < numeros.length; i += 2) { 8 | console.log(numeros[i]); 9 | } -------------------------------------------------------------------------------- /arrays/for_2.js: -------------------------------------------------------------------------------- 1 | const notas = [7, 8, 3, 5, 10, 9, 8, 8]; 2 | 3 | let valores = ''; 4 | 5 | // foreach 6 | for(let nota of notas) { 7 | valores += nota + ' '; 8 | } 9 | 10 | console.log(valores); 11 | 12 | let indices = ''; 13 | 14 | for(let indice in notas) { 15 | indices += indice + ' '; 16 | } 17 | 18 | console.log(indices); -------------------------------------------------------------------------------- /arrays/metodos_1.js: -------------------------------------------------------------------------------- 1 | const numeros = [1, 2, 3, 4, 5, 8]; 2 | 3 | numeros[0] = 100; 4 | numeros.push(6); 5 | 6 | console.log(numeros.indexOf(4)); 7 | console.log(numeros.indexOf(4, 4)); 8 | console.log(numeros.includes(10)); 9 | console.log(numeros.includes(6)); 10 | console.log(numeros.join(' - ')); 11 | console.log(numeros); 12 | 13 | const numeros2 = numeros.concat(7, 8, 9); 14 | console.log(numeros2); -------------------------------------------------------------------------------- /arrays/metodos_2.js: -------------------------------------------------------------------------------- 1 | const numeros = [1, 2, 3, 4, 5, 8]; 2 | 3 | numeros.splice(1, 2); 4 | console.log(numeros); 5 | 6 | console.log(numeros.pop()); 7 | console.log(numeros.pop()); 8 | console.log(numeros); -------------------------------------------------------------------------------- /arrays/metodos_3.js: -------------------------------------------------------------------------------- 1 | const numeros = [10, 20, 30, 40]; 2 | 3 | function praCadaElemento(elemento, indice, array) { 4 | console.log(elemento, indice, array); 5 | } 6 | 7 | numeros.forEach(praCadaElemento); 8 | 9 | numeros.forEach(function (el) { 10 | console.log(el); 11 | }); 12 | 13 | numeros.forEach(function (_, i) { 14 | console.log(i); 15 | }); 16 | 17 | // for(let n of numeros) { 18 | // console.log(n); 19 | // } 20 | 21 | // for (let i = 0; i < numeros.length; i++) { 22 | // console.log(numeros[i]); 23 | // } -------------------------------------------------------------------------------- /controle/break_continue.js: -------------------------------------------------------------------------------- 1 | // break 2 | for(let i = 1; i <= 5; i++) { 3 | if(i === 3) { 4 | break; 5 | } 6 | console.log(i); 7 | } 8 | 9 | // continue 10 | for(let i = 1; i <= 5; i++) { 11 | if(i === 3) { 12 | continue; 13 | } 14 | console.log(i); 15 | } -------------------------------------------------------------------------------- /controle/desafio_for.js: -------------------------------------------------------------------------------- 1 | // # 2 | // ## 3 | // ### 4 | // #### 5 | // ##### 6 | // ###### 7 | 8 | // let linha = ''; 9 | 10 | // for(let i = 1; i <= 6; i++) { 11 | // linha += '#'; 12 | // console.log(linha); 13 | // } 14 | 15 | for(let s = '#'; s != '#######'; s += '#') { 16 | console.log(s); 17 | } -------------------------------------------------------------------------------- /controle/desafio_if.js: -------------------------------------------------------------------------------- 1 | const nota = 9.99; 2 | 3 | if (nota <= 10 && nota >= 9) 4 | console.log('A'); 5 | 6 | if (nota < 9 && nota >= 7) 7 | console.log('B'); 8 | 9 | if (nota < 7 && nota >= 5) 10 | console.log('C'); 11 | 12 | if (nota < 5 && nota >= 4.5) 13 | console.log('D'); 14 | 15 | if (nota >= 0 && nota < 4.5) { 16 | console.log('F'); 17 | } -------------------------------------------------------------------------------- /controle/desafio_if_else.js: -------------------------------------------------------------------------------- 1 | const a = 10; 2 | const b = 28; 3 | const operacao = '?'; // + - * / % 4 | 5 | let resultado; 6 | 7 | // if ... else if ... else 8 | if(operacao === '+') { 9 | resultado = a + b; 10 | } else if(operacao === '-') { 11 | resultado = a - b; 12 | } else if(operacao === '*') { 13 | resultado = a * b; 14 | } else if(operacao === '/') { 15 | resultado = a / b; 16 | } else if(operacao === '%') { 17 | resultado = a % b; 18 | } 19 | 20 | console.log(resultado); -------------------------------------------------------------------------------- /controle/desafio_switch.js: -------------------------------------------------------------------------------- 1 | // A+ -> 10 2 | // A -> 9 3 | // B+ -> 8 4 | // B -> 7 5 | // C+ -> 6 6 | // C -> 5 7 | // D+ -> 4 8 | // D -> 3 9 | // E+ -> 2 10 | // E -> 1 11 | // F -> 0 12 | 13 | const conceito = 'C+'; 14 | 15 | switch(conceito) { 16 | case 'A+': console.log(10); break; 17 | case 'A': console.log(9); break; 18 | case 'B+': console.log(8); break; 19 | case 'B': console.log(7); break; 20 | case 'C+': console.log(6); break; 21 | case 'C': console.log(5); break; 22 | case 'D+': console.log(4); break; 23 | case 'D': console.log(3); break; 24 | case 'E+': console.log(2); break; 25 | case 'E': console.log(1); break; 26 | case 'F': console.log(0); break; 27 | default: console.log('Conceito inválido!'); 28 | } -------------------------------------------------------------------------------- /controle/extra_template_string.js: -------------------------------------------------------------------------------- 1 | const i = 2; 2 | const j = 4; 3 | 4 | console.log("i = " + i + ", j = " + j); 5 | console.log('i = ' + i + ', j = ' + j); 6 | 7 | console.log(`i = ${i}, j = ${j}`); 8 | console.log(`1 + 2 = ${1 + 2}`); 9 | console.log(`Valor gerado foi: ${Math.random()}`); 10 | 11 | console.log("i = ${i}, j = ${j}"); 12 | console.log('i = ${i}, j = ${j}'); -------------------------------------------------------------------------------- /controle/for_1.js: -------------------------------------------------------------------------------- 1 | for (let controle = 1; controle <= 10; controle++) { 2 | console.log(controle); 3 | } 4 | 5 | console.log('Fim!'); 6 | -------------------------------------------------------------------------------- /controle/for_2.js: -------------------------------------------------------------------------------- 1 | // for(;;) { 2 | // } 3 | 4 | // for(; true; ) { 5 | // } 6 | 7 | let controle = 1; 8 | 9 | for (; controle <= 10;) { 10 | console.log(controle); 11 | controle++; 12 | } 13 | 14 | console.log('Fim!'); -------------------------------------------------------------------------------- /controle/for_3.js: -------------------------------------------------------------------------------- 1 | // 7, 6, 5, 4, 3 2 | 3 | for(let i = 7; i >= 3; i--) { 4 | console.log(i); 5 | } 6 | 7 | console.log('Fim!'); -------------------------------------------------------------------------------- /controle/for_4.js: -------------------------------------------------------------------------------- 1 | // [1, 1] [1, 2] [1, 3] 2 | // [2, 1] [2, 2] [2, 3] 3 | // [3, 1] [3, 2] [3, 3] 4 | 5 | for(let i = 1; i <= 3; i++) { 6 | let linha = ''; 7 | for(let j = 1; j <= 3; j++) { 8 | linha += `[${i}, ${j}] `; 9 | } 10 | console.log(linha); 11 | } -------------------------------------------------------------------------------- /controle/if_1.js: -------------------------------------------------------------------------------- 1 | if (true) 2 | console.log('Vai ser executado!'); 3 | 4 | if (false) 5 | console.log('Não vai ser executado!'); 6 | 7 | console.log('Fim!'); -------------------------------------------------------------------------------- /controle/if_2.js: -------------------------------------------------------------------------------- 1 | const nota = 8; 2 | const bomComportamento = true; 3 | 4 | if (nota >= 7 && bomComportamento) 5 | console.log('Parabéns!'); 6 | 7 | if (nota < 7 || !bomComportamento) 8 | console.log('Uma pena!'); 9 | 10 | console.log('Fim!') -------------------------------------------------------------------------------- /controle/if_3.js: -------------------------------------------------------------------------------- 1 | const nota = 9.3; 2 | 3 | if (nota >= 9) { 4 | console.log('Quadro de Honra!'); 5 | console.log('Parabéns!'); 6 | } 7 | 8 | console.log('Fim!'); -------------------------------------------------------------------------------- /controle/if_4.js: -------------------------------------------------------------------------------- 1 | const nota = 2.3 2 | 3 | if (nota >= 9) { 4 | console.log('Quadro de Honra!') 5 | console.log('Parabéns!') 6 | } 7 | 8 | console.log('Fim!') -------------------------------------------------------------------------------- /controle/if_else_1.js: -------------------------------------------------------------------------------- 1 | const verdadeira = true; 2 | const falsa = false; 3 | 4 | if(verdadeira) { 5 | console.log('Exec...'); 6 | } else 7 | console.log('Não exec...'); 8 | 9 | if(falsa) 10 | console.log('Não exec...'); 11 | else { 12 | console.log('Exec...'); 13 | } -------------------------------------------------------------------------------- /controle/if_else_2.js: -------------------------------------------------------------------------------- 1 | const hora = 23; 2 | let saudacao; 3 | 4 | if(hora < 12) { 5 | saudacao = 'Bom dia!'; 6 | } else { 7 | saudacao = 'Boa tarde!'; 8 | } 9 | 10 | console.log(saudacao); -------------------------------------------------------------------------------- /controle/if_else_3.js: -------------------------------------------------------------------------------- 1 | const hora = 22; 2 | let saudacao; 3 | 4 | if(hora < 12) { 5 | saudacao = 'Bom dia!'; 6 | } else { 7 | if(hora < 18) { 8 | saudacao = 'Boa tarde!'; 9 | } else { 10 | saudacao = 'Boa noite!'; 11 | } 12 | } 13 | 14 | console.log(saudacao); -------------------------------------------------------------------------------- /controle/if_else_4.js: -------------------------------------------------------------------------------- 1 | const hora = 23; 2 | let saudacao; 3 | 4 | if (hora < 12) { 5 | saudacao = 'Bom dia!'; 6 | } else if (hora < 18) { 7 | saudacao = 'Boa tarde!'; 8 | } else if (hora < 22) { 9 | saudacao = 'Boa noite!'; 10 | } else { 11 | saudacao = 'Muito tarde!'; 12 | } 13 | 14 | console.log(saudacao); -------------------------------------------------------------------------------- /controle/if_else_5.js: -------------------------------------------------------------------------------- 1 | const hora = 23; 2 | let saudacao; 3 | 4 | if (hora < 12) { 5 | saudacao = 'Bom dia!'; 6 | } else { 7 | if (hora < 18) { 8 | saudacao = 'Boa tarde!'; 9 | } else { 10 | if (hora < 22) { 11 | saudacao = 'Boa noite!'; 12 | } else { 13 | saudacao = 'Muito tarde!'; 14 | } 15 | } 16 | } 17 | 18 | console.log(saudacao); -------------------------------------------------------------------------------- /controle/switch_1.js: -------------------------------------------------------------------------------- 1 | 2 | let nota = 10; 3 | 4 | switch(Math.ceil(nota)) { 5 | case 10: case 9: case 8: case 7: 6 | console.log('Parabéns!'); 7 | break; 8 | case 6: 9 | case 5: 10 | console.log('Recuperação!'); 11 | break; 12 | case 4: 13 | case 3: 14 | case 2: 15 | console.log('Reprovado!'); 16 | break; 17 | case 1: 18 | case 0: 19 | console.log('Muito Reprovado!'); 20 | break; 21 | default: 22 | console.log('Nota inválida!'); 23 | } 24 | 25 | console.log('Fim!') -------------------------------------------------------------------------------- /controle/while_1.js: -------------------------------------------------------------------------------- 1 | while (true) { 2 | console.log('Laço infinito!!!'); 3 | } 4 | 5 | console.log('Fim!'); -------------------------------------------------------------------------------- /controle/while_2.js: -------------------------------------------------------------------------------- 1 | let quantidade = 0; 2 | 3 | // indeterminada de repetições 4 | while(Math.random() < 0.97) { 5 | quantidade++; 6 | } 7 | 8 | console.log('Qtde: ' + quantidade); -------------------------------------------------------------------------------- /controle/while_3.js: -------------------------------------------------------------------------------- 1 | const futuro = Date.now() + 2000; 2 | let quantidade = 0; 3 | 4 | while(Date.now() < futuro) { 5 | quantidade++; 6 | } 7 | 8 | // Qtde: 32543784 9 | // Qtde: 32525345 10 | console.log('Qtde: ' + quantidade); -------------------------------------------------------------------------------- /controle/while_4.js: -------------------------------------------------------------------------------- 1 | 2 | let controle = 1; 3 | 4 | while (controle <= 10) { 5 | console.log(controle); 6 | controle++; 7 | } 8 | 9 | console.log('Fim!'); 10 | 11 | // declaração, expressão e incremento -> Qtde determinada! -------------------------------------------------------------------------------- /funcoes/com_funcao_1.js: -------------------------------------------------------------------------------- 1 | const d1 = 3; 2 | const m1 = 7; 3 | const a1 = 2021; 4 | 5 | function exibirData1() { 6 | console.log(`${d1}/${m1}/${a1}`); 7 | } 8 | 9 | const d2 = 23; 10 | const m2 = 12; 11 | const a2 = 2022; 12 | 13 | function exibirData2() { 14 | console.log(`${d2}/${m2}/${a2}`); 15 | } 16 | 17 | exibirData1(); 18 | exibirData1(); 19 | exibirData1(); 20 | 21 | exibirData2(); 22 | exibirData2(); 23 | exibirData2(); -------------------------------------------------------------------------------- /funcoes/com_funcao_2.js: -------------------------------------------------------------------------------- 1 | const d1 = 3; 2 | const m1 = 7; 3 | const a1 = 2021; 4 | 5 | const d2 = 23; 6 | const m2 = 12; 7 | const a2 = 2022; 8 | 9 | function exibirData(d, m, a) { 10 | console.log(`${d}/${m}/${a}`); 11 | } 12 | 13 | exibirData(d1, m1, a1); 14 | exibirData(d1, m1, a1); 15 | exibirData(d1, m1, a1); 16 | 17 | exibirData(d2, m2, a2); 18 | exibirData(d2, m2, a2); 19 | exibirData(d2, m2, a2); -------------------------------------------------------------------------------- /funcoes/desafio_funcao_1.js: -------------------------------------------------------------------------------- 1 | function somar(n1, n2) { 2 | console.log(n1 + n2); 3 | } 4 | 5 | function subtrair(a, b) { 6 | console.log(a - b); 7 | } 8 | 9 | somar(3, 4); 10 | somar(31, 98); 11 | 12 | subtrair(11, 7); 13 | subtrair(19, 52); -------------------------------------------------------------------------------- /funcoes/desafio_funcao_2.js: -------------------------------------------------------------------------------- 1 | // Parâmetro (Nota) -> Retorno (Conceito) 2 | 3 | function notaParaConceito(nota) { 4 | switch(Math.ceil(nota)) { 5 | case 10: return 'A+'; 6 | case 9: return 'A'; 7 | case 8: return 'B+'; 8 | case 7: return 'B'; 9 | case 6: return 'C+'; 10 | case 5: return 'C'; 11 | case 4: return 'D+'; 12 | case 3: return 'D'; 13 | case 2: return 'E+'; 14 | case 1: return 'E'; 15 | case 0: return 'F'; 16 | default: return null; 17 | } 18 | } 19 | 20 | console.log(`O conceito do Bruno é ${notaParaConceito(6.001)}`) 21 | console.log(`O conceito da Laura é ${notaParaConceito(8.9)}`) -------------------------------------------------------------------------------- /funcoes/desafio_funcao_3.js: -------------------------------------------------------------------------------- 1 | const nota1 = 5.8; 2 | const nota2 = 1.1; 3 | const nota3 = 2.1; 4 | 5 | function minimo(n1, n2) { 6 | return n1 <= n2 ? n1 : n2; 7 | } 8 | 9 | function mediaDuasMaiores(n1, n2, n3) { 10 | const menorNota = minimo(n1, minimo(n2, n3)); 11 | 12 | if(menorNota === n1) { 13 | return (n2 + n3) / 2; 14 | } else if(menorNota === n2) { 15 | return (n1 + n3) / 2; 16 | } else { 17 | return (n1 + n2) / 2; 18 | } 19 | } 20 | 21 | function mediaParaStatus(media) { 22 | if(media >= 7) { 23 | return "Aprovado"; 24 | } else if(media >= 4) { 25 | return "Recuperação"; 26 | } else { 27 | return "Reprovado"; 28 | } 29 | } 30 | 31 | const mediaFinal = mediaDuasMaiores(nota1, nota2, nota3); 32 | const statusFinal = mediaParaStatus(mediaFinal); 33 | console.log(`O resultado final do aluno é ${statusFinal}!`); -------------------------------------------------------------------------------- /funcoes/extra_undefined.js: -------------------------------------------------------------------------------- 1 | let a; 2 | let b = 7; 3 | let c = null; // nil 4 | let d = 0; 5 | 6 | console.log(a, b, c); 7 | console.log(a + b); 8 | console.log(b + c + 1); 9 | console.log(b + d + 1); -------------------------------------------------------------------------------- /funcoes/funcao_com_retorno_1.js: -------------------------------------------------------------------------------- 1 | function sempreRetornaUm() { 2 | return 1; 3 | } 4 | 5 | function textoOuNumero(retornaTexto) { 6 | // return retornaTexto ? "Sou um texto!" : 123; 7 | if(retornaTexto) { 8 | return "Sou um texto!"; 9 | } 10 | 11 | return 123; 12 | } 13 | 14 | let valor = sempreRetornaUm() + 999; 15 | console.log(valor); 16 | 17 | let texto = textoOuNumero(true); 18 | console.log(texto); 19 | 20 | console.log(textoOuNumero(false)); -------------------------------------------------------------------------------- /funcoes/funcao_como_param_1.js: -------------------------------------------------------------------------------- 1 | function executar(param) { 2 | if(typeof param === "function") { 3 | console.log(param()); // <--- Parte central da aula 4 | } 5 | } 6 | 7 | function bomDia() { 8 | return "Bom dia"; 9 | } 10 | 11 | executar(3); 12 | executar(bomDia); // <--- Parte central da aula 13 | 14 | const x = bomDia; 15 | const y = bomDia(); 16 | 17 | console.log(x()); 18 | console.log(y); -------------------------------------------------------------------------------- /funcoes/funcao_como_param_2.js: -------------------------------------------------------------------------------- 1 | function executar(fn, n1 = 10, n2 = 10) { 2 | if(typeof fn === "function") { 3 | console.log(fn(n1, n2)); 4 | } 5 | } 6 | 7 | function somar(a, b) { 8 | return a + b; 9 | } 10 | 11 | function subtrair(a, b) { 12 | return a - b; 13 | } 14 | 15 | function multiplicar(a, b) { 16 | return a * b; 17 | } 18 | 19 | executar(somar, 90, 50); 20 | executar(subtrair, 90, 50); 21 | executar(multiplicar, 90, 50); 22 | executar(multiplicar, 900, 500); 23 | executar(somar); 24 | -------------------------------------------------------------------------------- /funcoes/funcao_como_var_1.js: -------------------------------------------------------------------------------- 1 | const x = 123; 2 | let y = 321; 3 | 4 | const somar = function (a, b) { 5 | return a + b; 6 | } 7 | 8 | console.log(somar(x, y)); -------------------------------------------------------------------------------- /funcoes/funcao_como_var_2.js: -------------------------------------------------------------------------------- 1 | function subtrair(a, b) { 2 | return a - b; 3 | } 4 | 5 | const subtracao = subtrair; 6 | 7 | console.log(subtrair(5, 2)); 8 | console.log(subtracao(5, 2)); -------------------------------------------------------------------------------- /funcoes/funcao_e_undefined.js: -------------------------------------------------------------------------------- 1 | function semRetorno() { 2 | console.log('Função foi chamada!'); 3 | } 4 | 5 | let a = 3; 6 | let b = a * 7 + 10; 7 | let c = semRetorno(); 8 | let d; 9 | 10 | console.log(a, b, c, d); -------------------------------------------------------------------------------- /funcoes/param_funcao_1.js: -------------------------------------------------------------------------------- 1 | function somar(a, b, c, d) { 2 | return a + b + c + d; 3 | } 4 | 5 | console.log(somar(1, 2, 3, 4)); 6 | console.log(somar(1, 2, 3)); 7 | 8 | console.log('Fim!'); -------------------------------------------------------------------------------- /funcoes/param_funcao_2.js: -------------------------------------------------------------------------------- 1 | function somar(a = 0, b = 0, c = 0, d = 0) { 2 | return a + b + c + d; 3 | } 4 | 5 | console.log(somar(1, 2, 3, 4, 5, 6)); 6 | console.log(somar(1, 2, 3, 4)); 7 | console.log(somar(1, 2, 3)); 8 | console.log(somar(1, 2)); 9 | console.log(somar(1)); 10 | console.log(somar()); 11 | 12 | console.log('Fim!'); -------------------------------------------------------------------------------- /funcoes/retornar_funcao_1.js: -------------------------------------------------------------------------------- 1 | function retornaUmaFuncao() { 2 | 3 | function bomDia() { 4 | return "Bom dia!!!"; 5 | } 6 | 7 | return bomDia; 8 | } 9 | 10 | console.log(retornaUmaFuncao); 11 | console.log(retornaUmaFuncao()); 12 | console.log(retornaUmaFuncao()()); 13 | 14 | const umaFuncao = retornaUmaFuncao(); 15 | console.log(umaFuncao()); -------------------------------------------------------------------------------- /funcoes/retornar_funcao_2.js: -------------------------------------------------------------------------------- 1 | function retornaUmaFuncao() { 2 | return function () { 3 | return function () { 4 | return "Boa tarde!"; 5 | } 6 | } 7 | } 8 | 9 | console.log(retornaUmaFuncao); 10 | console.log(retornaUmaFuncao()); 11 | console.log(retornaUmaFuncao()()); 12 | console.log(retornaUmaFuncao()()()); -------------------------------------------------------------------------------- /funcoes/retornar_funcao_3.js: -------------------------------------------------------------------------------- 1 | function somar1(a, b) { 2 | return a + b; 3 | } 4 | 5 | console.log(somar1(5, 4)); 6 | 7 | function somar2(a) { 8 | return function (b) { 9 | return a + b; 10 | } 11 | } 12 | 13 | console.log(somar2(5)(4)); 14 | 15 | const somarMais10 = somar2(10); 16 | 17 | console.log(somarMais10(5)); 18 | console.log(somarMais10(15)); -------------------------------------------------------------------------------- /funcoes/sem_funcao.js: -------------------------------------------------------------------------------- 1 | const d1 = 3; 2 | const m1 = 7; 3 | const a1 = 2021; 4 | 5 | console.log(`Dia: ${d1}`); 6 | console.log(`Mês: ${m1}`); 7 | console.log(`Ano: ${a1}`); 8 | 9 | const d2 = 23; 10 | const m2 = 12; 11 | const a2 = 2022; 12 | 13 | console.log(`Dia: ${d2}`); 14 | console.log(`Mês: ${m2}`); 15 | console.log(`Ano: ${a2}`); -------------------------------------------------------------------------------- /funcoes/variacoes_funcao.js: -------------------------------------------------------------------------------- 1 | // #1: Função COM Parâmetros e COM Retorno 2 | function somar(a, b) { 3 | return a + b; 4 | } 5 | 6 | let resultado = somar(30, 56); 7 | console.log(`O resultado final é: ${resultado}`); 8 | console.log(`O resultado final é: ${somar(30, 56)}`); 9 | 10 | // #2: Função COM Parâmetros e SEM Retorno 11 | function exibirMultiplicacao(a, b) { 12 | console.log(a * b); 13 | } 14 | 15 | exibirMultiplicacao(10, 21); 16 | exibirMultiplicacao(7, 9); 17 | 18 | // #3: Função SEM Parâmetros e COM Retorno 19 | function retornarDataAtual() { 20 | return new Date(); 21 | } 22 | 23 | console.log(retornarDataAtual()); 24 | 25 | // #4: Função SEM Parâmetros e SEM Retorno 26 | function exibirHoraAtual() { 27 | console.log(new Date().getHours()); 28 | } 29 | 30 | exibirHoraAtual(); -------------------------------------------------------------------------------- /inicio/bloco.js: -------------------------------------------------------------------------------- 1 | { 2 | console.log("Passo #01"); 3 | console.log("Passo #02"); 4 | console.log("Passo #03"); 5 | } 6 | 7 | { 8 | console.log("Passo #04"); 9 | console.log("Passo #05"); 10 | } 11 | 12 | { 13 | { 14 | { 15 | { 16 | ; 17 | ; 18 | ; 19 | } 20 | } 21 | } 22 | } 23 | 24 | console.log("Fim!"); -------------------------------------------------------------------------------- /inicio/comentario.js: -------------------------------------------------------------------------------- 1 | // console.log é usado para exibir algo na tela do computador! 2 | console.log('Passo #03'); 3 | console.log('Passo #01'); // mais um exemplo de console.log! 4 | // console.log('Passo #02'); 5 | 6 | /* 7 | * Esse é um 8 | * comentário 9 | * de múltiplas 10 | * linhas! 11 | */ 12 | console.log('Passo #02'); -------------------------------------------------------------------------------- /inicio/dados_1.js: -------------------------------------------------------------------------------- 1 | var nome = "Caneta"; 2 | var quantidade = 10; 3 | var preco = 6.4; 4 | let imposto = 1.5; 5 | let precoFinal = preco + imposto; 6 | 7 | console.log(nome); 8 | console.log(quantidade); 9 | console.log(preco); 10 | console.log(imposto); 11 | console.log(precoFinal); 12 | 13 | nome = "Caneta BIC"; 14 | console.log(nome); -------------------------------------------------------------------------------- /inicio/dados_2.js: -------------------------------------------------------------------------------- 1 | console.log(19.9 * 0.6); 2 | 3 | let preco = 19.90; 4 | let desconto = 0.4; 5 | let precoComDesconto = preco * (1 - desconto); 6 | console.log(precoComDesconto); 7 | 8 | let nome = "Caderno"; // String (Texto) -> sequencia de símbolos 9 | let categoria = "Papelaria"; 10 | console.log("Produto: " + nome 11 | + ", Categoria: " + categoria 12 | + ", Preço: " + preco 13 | + ", Desconto: " + desconto); -------------------------------------------------------------------------------- /inicio/dados_3.js: -------------------------------------------------------------------------------- 1 | let idade = 31; 2 | console.log(typeof -31); 3 | console.log(typeof idade); 4 | 5 | let salario = 4578.32; 6 | console.log(typeof salario); 7 | 8 | let estaChovendo = true // ou false 9 | console.log(typeof estaChovendo); 10 | 11 | console.log(typeof "Teste"); 12 | console.log(typeof 'Teste'); -------------------------------------------------------------------------------- /inicio/dados_4.js: -------------------------------------------------------------------------------- 1 | const a = 3; 2 | 3 | // ... 4 | 5 | // a = a + 10; 6 | 7 | // ... 8 | 9 | console.log(a); -------------------------------------------------------------------------------- /inicio/desafio_area.js: -------------------------------------------------------------------------------- 1 | const PI = 3.141592; 2 | const raio = 10; 3 | let areaCirc = PI * raio * raio; 4 | 5 | console.log("O valor da área é " + areaCirc + "m2."); 6 | 7 | areaCirc = Math.PI * raio * raio; 8 | console.log("O valor da área é " + areaCirc + "m2."); -------------------------------------------------------------------------------- /inicio/desafio_sentenca_bloco.js: -------------------------------------------------------------------------------- 1 | { 2 | console.log(1); 3 | console.log(3); 4 | console.log(5); 5 | console.log(7); 6 | console.log(9); 7 | } 8 | 9 | { 10 | console.log(2); 11 | console.log(4); 12 | console.log(6); 13 | console.log(8); 14 | console.log(10); 15 | } 16 | -------------------------------------------------------------------------------- /inicio/desafio_troca.js: -------------------------------------------------------------------------------- 1 | let a = 7; 2 | let b = 94; 3 | 4 | let temp = a; 5 | a = b; 6 | b = temp; 7 | 8 | // depois da troca... a = 94 e b = 7 9 | console.log(a); 10 | console.log(b); -------------------------------------------------------------------------------- /inicio/sentenca_1.js: -------------------------------------------------------------------------------- 1 | console 2 | .log("Bom dia!"); 3 | console.log("Boa tarde!"); 4 | console.log("Boa noite!"); -------------------------------------------------------------------------------- /inicio/sentenca_2.js: -------------------------------------------------------------------------------- 1 | console.log('Passo #03'); 2 | console.log('Passo #01'); 3 | console.log('Passo #02'); 4 | -------------------------------------------------------------------------------- /objetos/basico_1.js: -------------------------------------------------------------------------------- 1 | const numeros = [10, 20, 30]; 2 | 3 | const produto = { 4 | nome: 'Caneta', 5 | preco: 9.99, 6 | desconto: 0.2, 7 | }; 8 | 9 | console.log(numeros[0]); 10 | console.log(produto['nome']); 11 | console.log(produto['preco']); 12 | console.log(produto['desconto']); 13 | 14 | console.log(produto.nome); 15 | console.log(produto.preco); 16 | console.log(produto.desconto); 17 | 18 | console.log(typeof produto); 19 | -------------------------------------------------------------------------------- /objetos/basico_2.js: -------------------------------------------------------------------------------- 1 | const produto = { 2 | nome: 'iPad', 3 | preco: 5600, 4 | desconto: 0.5, 5 | precoComDesconto: function() { 6 | return this.preco * (1 - this.desconto); 7 | } 8 | }; 9 | 10 | console.log(produto.nome); 11 | console.log(produto.precoComDesconto()); -------------------------------------------------------------------------------- /objetos/basico_3.js: -------------------------------------------------------------------------------- 1 | const data = { 2 | dia: 1, 3 | mes: 10, 4 | ano: 2021, 5 | }; 6 | 7 | data.dia = 24; 8 | data.mes = 12; 9 | 10 | console.log(`${data.dia}/${data.mes}/${data.ano}`); -------------------------------------------------------------------------------- /objetos/basico_4.js: -------------------------------------------------------------------------------- 1 | const usuario = { 2 | email: 'aluno@cod3r.com.br' 3 | }; 4 | 5 | usuario.nome = 'Aluno'; 6 | usuario.senha = '123456'; 7 | 8 | console.log(usuario.email); 9 | console.log(usuario.nome); 10 | console.log(usuario); -------------------------------------------------------------------------------- /objetos/basico_5.js: -------------------------------------------------------------------------------- 1 | const cliente = { 2 | codigo: 16532, 3 | nome: 'Ana', 4 | vip: true, 5 | endereco: { 6 | logradouro: 'Rua ABC', 7 | numero: 123, 8 | complemento: 'Apto 101 Bloco B', 9 | pontosRef: [ 10 | { nome: 'Hospital X', muitoProximo: true }, 11 | { nome: 'Shopping Y', muitoProximo: false }, 12 | ] 13 | }, 14 | nomeFilhos: ['Bia', 'Carlos', 'Gabriel'] 15 | }; 16 | 17 | console.log(cliente['endereco']['logradouro']); 18 | console.log(cliente.endereco.logradouro); 19 | console.log(cliente.endereco.pontosRef[0].muitoProximo); -------------------------------------------------------------------------------- /objetos/classe_e_objeto_1.js: -------------------------------------------------------------------------------- 1 | class Data { 2 | // dia = 1 3 | // mes = 1 4 | // ano = 1970 5 | 6 | constructor(dia = 1, mes = 1, ano = 1970) { 7 | this.dia = dia; 8 | this.mes = mes; 9 | this.ano = ano; 10 | } 11 | 12 | exibir() { 13 | return `${this.dia}/${this.mes}/${this.ano}`; 14 | } 15 | } 16 | 17 | const d1 = new Data(); 18 | d1.dia = 24; 19 | d1.mes = 12; 20 | d1.ano = 2022; 21 | console.log(d1); 22 | console.log(d1.exibir()); 23 | 24 | const d2 = new Data(31, 12, 2021); 25 | console.log(d2); 26 | console.log(d2.exibir()); 27 | 28 | console.log(typeof d1); 29 | console.log(typeof Data); -------------------------------------------------------------------------------- /objetos/desafio_objeto_1.js: -------------------------------------------------------------------------------- 1 | // Objeto data 2 | // Atributos: dia, mes e ano 3 | // Método: exibir -> "dia/mes/ano" 4 | 5 | const nascimento = { 6 | dia: 9, 7 | mes: 10, 8 | ano: 2010, 9 | exibir: function() { 10 | return `${this.dia}/${this.mes}/${this.ano}`; 11 | } 12 | }; 13 | 14 | nascimento.dia = 11; 15 | 16 | console.log(nascimento.mes); 17 | console.log(nascimento.exibir()); -------------------------------------------------------------------------------- /objetos/funcao_e_objeto_1.js: -------------------------------------------------------------------------------- 1 | function criarData(dia, mes, ano) { 2 | return { 3 | dia: dia, 4 | mes: mes, 5 | ano: ano, 6 | exibir: function() { 7 | return `${this.dia}/${this.mes}/${this.ano}`; 8 | } 9 | }; 10 | } 11 | 12 | const d1 = criarData(9, 10, 2010); 13 | const d2 = criarData(22, 11, 2023); 14 | const d3 = criarData(3, 4, 2022); 15 | 16 | console.log(d1.exibir()); 17 | console.log(d2.exibir()); 18 | console.log(d3.exibir()); -------------------------------------------------------------------------------- /objetos/funcao_e_objeto_2.js: -------------------------------------------------------------------------------- 1 | function criarData(dia, mes, ano) { 2 | return { 3 | dia, 4 | mes, 5 | ano, 6 | exibir() { 7 | return `${this.dia}/${this.mes}/${this.ano}`; 8 | } 9 | }; 10 | } 11 | 12 | const d1 = criarData(9, 10, 2010); 13 | const d2 = criarData(22, 11, 2023); 14 | const d3 = criarData(3, 4, 2022); 15 | 16 | console.log(d1.exibir()); 17 | console.log(d2.exibir()); 18 | console.log(d3.exibir()); 19 | 20 | console.log(d1); 21 | console.log(d2); 22 | console.log(d3); -------------------------------------------------------------------------------- /objetos/funcao_e_objeto_3.js: -------------------------------------------------------------------------------- 1 | // Função Construtora (Classe) -> Objeto 2 | function Data(dia = 1, mes = 1, ano = 2021) { 3 | this.dia = dia; 4 | this.mes = mes; 5 | this.ano = ano; 6 | 7 | this.exibir = function() { 8 | return `${this.dia}/${this.mes}/${this.ano}`; 9 | } 10 | } 11 | 12 | const d1 = new Data(); 13 | d1.ano = 1970; 14 | d1.mes = 12; 15 | 16 | const d2 = new Data(24, 12, 2022); 17 | const d3 = new Data(31, 12, 2021); 18 | 19 | console.log(d1.exibir()); 20 | console.log(d2.exibir()); 21 | console.log(d3.exibir()); 22 | 23 | console.log(d1); 24 | console.log(d2); 25 | console.log(d3); 26 | -------------------------------------------------------------------------------- /objetos/problema_forma_literal.js: -------------------------------------------------------------------------------- 1 | const d1 = { 2 | dia: 9, 3 | mes: 10, 4 | ano: 2010, 5 | exibir: function() { 6 | return `${this.dia}/${this.mes}/${this.ano}`; 7 | } 8 | }; 9 | 10 | const d2 = { 11 | dia: 22, 12 | mes: 11, 13 | ano: 2023, 14 | exibir: function() { 15 | return `${this.dia}/${this.mes}/${this.ano}`; 16 | } 17 | }; 18 | 19 | const d3 = { 20 | dia: 3, 21 | mes: 4, 22 | ano: 2022, 23 | exibir() { 24 | return `${this.dia}/${this.mes}/${this.ano}`; 25 | } 26 | }; 27 | 28 | console.log(d1.exibir()); 29 | console.log(d2.exibir()); 30 | console.log(d3.exibir()); -------------------------------------------------------------------------------- /operadores/aritmeticos.js: -------------------------------------------------------------------------------- 1 | // valores literais 2 | console.log(7 + 3); 3 | console.log(6 - 7); 4 | console.log(7 * 9); 5 | console.log(8 / 3); 6 | console.log(8 % 3); 7 | 8 | let a = 8; 9 | let b = 11; 10 | 11 | // usando variáveis 12 | console.log(a + b); 13 | console.log(a - b); 14 | console.log(a * b); 15 | console.log(a / b); 16 | console.log(a % b); 17 | 18 | a = a + b * a / b; 19 | console.log(a); -------------------------------------------------------------------------------- /operadores/atribuicao.js: -------------------------------------------------------------------------------- 1 | let x = 10; 2 | x = x + 6; 3 | x = x - 1; 4 | 5 | let y = 20; 6 | y += 10; // y = y + 10; 7 | y -= 2; // y = y - 2; 8 | y *= 2; // y = y * 2; 9 | y /= 4; // y = y / 4; 10 | y %= 3; // y = y % 3; 11 | 12 | console.log(x); 13 | console.log(y); 14 | 15 | let w = 'texto'; 16 | w += ', mais texto'; 17 | w += '!!!'; 18 | 19 | console.log(w); -------------------------------------------------------------------------------- /operadores/desafio_aritmeticos.js: -------------------------------------------------------------------------------- 1 | let f = 73; 2 | let c = (f - 32) / 9 * 5; 3 | console.log(c); -------------------------------------------------------------------------------- /operadores/desafio_atribuicao.js: -------------------------------------------------------------------------------- 1 | let texto = 'Lista de Aprovados\n'; 2 | texto += '==================\n\n'; 3 | texto += '1. Ana Silva\n'; 4 | texto += '2. Pedro Albuquerque\n'; 5 | texto += '3. Guilherme Pereira\n'; 6 | texto += '4. Rebeca França\n'; 7 | 8 | console.log(texto); -------------------------------------------------------------------------------- /operadores/desafio_logicos.js: -------------------------------------------------------------------------------- 1 | // Duas expressões resultar em TRUE (Aritméticos/Relacionais/Lógicos) 2 | let verdadeira1 = 2 + 5 >= 7 && 8 > 2; 3 | let verdadeira2 = !(6 * 6 < 3); 4 | 5 | console.log(verdadeira1); 6 | console.log(verdadeira2); 7 | 8 | // Duas expressões resultar em FALSE (Aritméticos/Relacionais/Lógicos) 9 | let falso1 = 8 - 4 > 12 || false || 15 === '15'; 10 | let falso2 = !(7 !== 6 + 1 || '3' !== 3); 11 | 12 | console.log(falso1); 13 | console.log(falso2); 14 | -------------------------------------------------------------------------------- /operadores/desafio_relacionais.js: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | let b = 2; 3 | 4 | // encontre 5 expressões que o resultado é TRUE 5 | console.log(a < b); 6 | console.log(a <= b); 7 | console.log(a != b); 8 | console.log(a !== b); 9 | console.log(a + a === b); 10 | 11 | // encontre 5 expressões que o resultado é FALSE 12 | console.log(a > b); 13 | console.log(a >= b); 14 | console.log(a == b); 15 | console.log(a === b); 16 | console.log(a + a !== b); -------------------------------------------------------------------------------- /operadores/desafio_ternario.js: -------------------------------------------------------------------------------- 1 | const a = 8; 2 | const b = 4; 3 | const operacao = '/'; // + - * / 4 | 5 | const resultado = 6 | operacao === '+' ? a + b : 7 | operacao === '-' ? a - b : 8 | operacao === '*' ? a * b : a / b; 9 | console.log(resultado); -------------------------------------------------------------------------------- /operadores/logicos_1.js: -------------------------------------------------------------------------------- 1 | let temDinheiro = false; 2 | let estaEnsolarado = false; 3 | let carroEstaNaGaragem = false; 4 | 5 | let resultadoE = '#1 (AND) - Vai pro shopping? '; 6 | resultadoE += temDinheiro && estaEnsolarado; 7 | console.log(resultadoE); 8 | 9 | let resultadoOU = '#2 (OR) - Vai pro shopping? '; 10 | resultadoOU += estaEnsolarado || carroEstaNaGaragem; 11 | console.log(resultadoOU); 12 | 13 | console.log(true !== true); 14 | console.log(true !== false); 15 | console.log(false !== true); 16 | console.log(false !== false); 17 | 18 | console.log('Não verdadeiro: ' + !true); 19 | console.log('Não falso: ' + !false); -------------------------------------------------------------------------------- /operadores/logicos_2.js: -------------------------------------------------------------------------------- 1 | const t1 = false; 2 | const t2 = false; 3 | 4 | let comprarTV50 = t1 && t2; // AND 5 | console.log('Vamos comprar a TV 50"?', comprarTV50); 6 | 7 | let comprarTV32 = t1 !== t2; // XOR 8 | console.log('Vamos comprar a TV 32"?', comprarTV32); 9 | 10 | let tomarSorvete = t1 || t2; // OR 11 | console.log('Vamos comprar sorvete?', tomarSorvete); 12 | 13 | let ficarEmCasa = !tomarSorvete; // NOT 14 | console.log('Vamos ficar em casa?', ficarEmCasa); -------------------------------------------------------------------------------- /operadores/relacionais_1.js: -------------------------------------------------------------------------------- 1 | // valores literais 2 | console.log(7 > 9); 3 | console.log(7 >= 7); 4 | console.log(8 < 2); 5 | console.log(8 <= 12); 6 | console.log(9 == 3); 7 | console.log(9 != 5); 8 | 9 | let a = 7; 10 | let b = 32; 11 | 12 | // usando variáveis 13 | console.log(a > b); 14 | console.log(a >= b); 15 | console.log(a < b); 16 | console.log(a <= b); 17 | console.log(a == b); 18 | console.log(a != b); -------------------------------------------------------------------------------- /operadores/relacionais_2.js: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | let b = "1"; 3 | let c = "1"; 4 | 5 | console.log(a == b); 6 | console.log(a === b); 7 | console.log(b === c); 8 | 9 | console.log(a != b); 10 | console.log(a !== b); 11 | console.log(b !== c); -------------------------------------------------------------------------------- /operadores/ternario_1.js: -------------------------------------------------------------------------------- 1 | const hora = 23; 2 | const saudacao = hora <= 11 ? 'Bom dia' : 'Boa tarde'; 3 | console.log(saudacao); -------------------------------------------------------------------------------- /operadores/ternario_2.js: -------------------------------------------------------------------------------- 1 | const hora = 11; 2 | const saudacao = hora <= 11 ? "Bom dia" : (hora <= 17 ? "Boa tarde" : "Boa noite"); 3 | console.log(saudacao); -------------------------------------------------------------------------------- /operadores/unarios_1.js: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | 3 | a = a + 1; 4 | a += 1; 5 | a++; 6 | ++a; 7 | 8 | a--; 9 | --a; 10 | 11 | console.log(a); -------------------------------------------------------------------------------- /operadores/unarios_2.js: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | let b = 2; 3 | 4 | // console.log(++a === b++); 5 | 6 | a++; 7 | console.log(a === b); 8 | b++; -------------------------------------------------------------------------------- /operadores/unarios_3.js: -------------------------------------------------------------------------------- 1 | console.log(!!true); 2 | console.log(!!false); 3 | 4 | console.log(!!'Texto!'); 5 | console.log(!!""); 6 | 7 | console.log(!!1); 8 | console.log(!!0); 9 | console.log(!!-1); 10 | console.log(!!-0.00001); --------------------------------------------------------------------------------