├── aula-01.js ├── aula-02.js ├── aula-03.js ├── aula-04.js ├── aula-05.js ├── aula-06.js ├── aula-07.js ├── aula-08.js ├── aula-09.js ├── aula-10.js ├── aula-11.js ├── aula-12.js ├── aula-13.js ├── aula-14.js ├── aula-15.js ├── aula-16.js ├── aula-17.js ├── aula-18.js ├── aula-19.js ├── aula-20.js ├── aula-21.js ├── aula-22.js ├── aula-23.js ├── aula-24.js ├── aula-25.js ├── aula-26.js ├── aula-27.js ├── aula-28.js ├── aula-29.js ├── aula-30.js ├── aula-31.js ├── aula-32.js ├── aula-33.js ├── aula-34.js ├── aula-35.js ├── aula-36.js ├── aula-37.js ├── aula-38.js ├── aula-39.js ├── aula-40.js ├── aula-41.js └── tempCodeRunnerFile.js /aula-01.js: -------------------------------------------------------------------------------- 1 | const x = 1; 2 | const y = 3; 3 | 4 | const soma = x + y; 5 | 6 | console.log('resultado', soma); -------------------------------------------------------------------------------- /aula-02.js: -------------------------------------------------------------------------------- 1 | let numero1 = 1; 2 | let numero2 = 2; 3 | 4 | if(numero1 === 1) { 5 | numero2 = 6 6 | } 7 | 8 | console.log('resultado', numero2) -------------------------------------------------------------------------------- /aula-03.js: -------------------------------------------------------------------------------- 1 | const idade = 28; 2 | const nome = 'Julio'; 3 | 4 | if(idade <= 28) { 5 | console.log('ENTROU') 6 | } else { 7 | console.log('NAO ENTRA!!!') 8 | } 9 | 10 | -------------------------------------------------------------------------------- /aula-04.js: -------------------------------------------------------------------------------- 1 | const quantidade = 10; 2 | let soma = 1; 3 | 4 | for(let i = 0; i < quantidade; i++) { 5 | console.log(i); 6 | soma = soma + i; 7 | } 8 | 9 | console.log('ACABOU', soma); -------------------------------------------------------------------------------- /aula-05.js: -------------------------------------------------------------------------------- 1 | let idade = 1; 2 | 3 | 4 | while(idade < 18) { 5 | console.log('PASSOU', idade); 6 | idade = idade + 1; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /aula-06.js: -------------------------------------------------------------------------------- 1 | let idade = 1; 2 | 3 | 4 | do { 5 | console.log('PASSOU', idade); 6 | idade = idade + 1; 7 | } while (idade < 18); -------------------------------------------------------------------------------- /aula-07.js: -------------------------------------------------------------------------------- 1 | const idadeJulio = 18; 2 | const idadeJoao = 14; 3 | const idadeJose = 53; 4 | 5 | const idades = [18, 'fdsaf', 53, 432, 654, 'fdgh', 234, 75, 765, 43, 543, 6754]; 6 | 7 | for(let i = 0; i < idades.length; i++) { 8 | console.log('resultado', idades[i]); 9 | } 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /aula-08.js: -------------------------------------------------------------------------------- 1 | const salario = '103'; 2 | const salarioNumero = Number(salario); 3 | 4 | console.log('salario: ', salario); 5 | console.log('salario numero:', salarioNumero) 6 | console.log('salario numero:', salarioNumero.toFixed(2)) 7 | -------------------------------------------------------------------------------- /aula-09.js: -------------------------------------------------------------------------------- 1 | 2 | function soma(item1, item2) { 3 | return item1 + item2; 4 | } 5 | 6 | function diminuir(item1, item2) { 7 | return item1 - item2; 8 | } 9 | 10 | console.log('SOMA: ', soma(5, 6)); 11 | console.log('SOMA: ', soma(643, 64373)); 12 | console.log('SOMA: ', diminuir(643, 64373)); 13 | -------------------------------------------------------------------------------- /aula-10.js: -------------------------------------------------------------------------------- 1 | const CONSUMO_AUTOMOVEL = 12; 2 | 3 | function gastoCombustivel(tempoGasto, velocidadeMedia) { 4 | const distancia = velocidadeMedia * tempoGasto; 5 | const consumoFinal = distancia / CONSUMO_AUTOMOVEL; 6 | 7 | return consumoFinal.toFixed(3); 8 | } 9 | 10 | console.log(gastoCombustivel(10, 85)); 11 | console.log(gastoCombustivel(2, 92)); 12 | console.log(gastoCombustivel(22, 67)); 13 | -------------------------------------------------------------------------------- /aula-11.js: -------------------------------------------------------------------------------- 1 | 2 | // + SOMA 3 | // - Subtração 4 | // / Divisão 5 | // * multiplicação 6 | 7 | // % resto 8 | // ** elevado 9 | 10 | console.log(11**2) 11 | 12 | -------------------------------------------------------------------------------- /aula-12.js: -------------------------------------------------------------------------------- 1 | const QUANTIDADE = 6; 2 | 3 | function numerosImpares(valor) { 4 | let contar = 0; 5 | let novoValor = valor; 6 | 7 | while(contar < QUANTIDADE) { 8 | if (novoValor % 2 !== 0) { 9 | console.log(novoValor); 10 | contar++; 11 | } 12 | 13 | novoValor++; 14 | } 15 | } 16 | 17 | numerosImpares(98547); 18 | -------------------------------------------------------------------------------- /aula-13.js: -------------------------------------------------------------------------------- 1 | 2 | function multiplos13(valor1, valor2) { 3 | let maior = 0; 4 | let menor = 0; 5 | let soma = 0; 6 | 7 | if (valor1 > valor2) { 8 | maior = valor1; 9 | menor = valor2; 10 | } else { 11 | maior = valor2; 12 | menor = valor1; 13 | } 14 | 15 | for(menor; menor <= maior; menor++) { 16 | if (menor % 13 !== 0) { 17 | soma += menor; 18 | } 19 | } 20 | 21 | return soma; 22 | } 23 | 24 | console.log(multiplos13(200, 100)); -------------------------------------------------------------------------------- /aula-14.js: -------------------------------------------------------------------------------- 1 | const mensagem = 'dsjlafj fdFDSAFDSAksjafl'; 2 | const mensagem2 = 'fdjsafkljdslakfj'; 3 | 4 | console.log('tamanho: ', mensagem.length); 5 | console.log('Concat', mensagem.concat(mensagem2)); 6 | console.log('Concat +', "dsaklfj" + " " + mensagem + " " + mensagem2); 7 | console.log('ES:', `dsaklfj ${mensagem} ${mensagem2}`); 8 | console.log('Quebrar em array', mensagem.split(' ')); 9 | 10 | console.log('UP:', mensagem.toUpperCase()); 11 | console.log('DOWN:', mensagem.toLowerCase()); 12 | console.log('Replace: ', mensagem.replace('fdFDSAFDSAksjafl', 'JULIO')); 13 | -------------------------------------------------------------------------------- /aula-15.js: -------------------------------------------------------------------------------- 1 | process.stdin.setEncoding('utf8'); 2 | 3 | let maiorString = ''; 4 | let resultado = []; 5 | 6 | function contarCaracters(valor) { 7 | let retorno = ''; 8 | const removeEnter = valor.replace('\n', ''); 9 | const separarEmArray = removeEnter.split(' '); 10 | 11 | for(let i = 0; i < separarEmArray.length; i++) { 12 | if (i === 0) { 13 | retorno = `${separarEmArray[i].length}` 14 | } else { 15 | retorno = `${retorno}-${separarEmArray[i].length}` 16 | } 17 | 18 | if (separarEmArray[i].length >= maiorString.length) { 19 | maiorString = separarEmArray[i]; 20 | } 21 | } 22 | 23 | return retorno; 24 | } 25 | 26 | process.stdin.on('data', function(data) { 27 | if(data == 0) { 28 | for(let i = 0; i < resultado.length; i++) { 29 | console.log(resultado[i]) 30 | } 31 | 32 | console.log(`The biggest word: ${maiorString}`) 33 | 34 | process.stdin.pause(); 35 | } else { 36 | resultado.push(contarCaracters(data)); 37 | } 38 | 39 | }); 40 | 41 | -------------------------------------------------------------------------------- /aula-16.js: -------------------------------------------------------------------------------- 1 | const numero = 4324; 2 | const stringA = 'fdsafdsa'; 3 | const verdadeOuFalso = true; // false 4 | 5 | const arrayTest = [432, 6436, 643]; 6 | 7 | stringA[4] = 'JULIO'; 8 | 9 | arrayTest.push(473985); 10 | 11 | console.log(arrayTest); 12 | console.log(stringA); 13 | 14 | 15 | -------------------------------------------------------------------------------- /aula-17.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | function teste(key) { 4 | switch (key) { 5 | case 'Julio': 6 | case 'BRIGADEIRO': 7 | console.log('JULIO AQUI') 8 | break; 9 | case 'Jose': 10 | console.log('Jose AQUI') 11 | break; 12 | case 'Joao': 13 | console.log('Joao AQUI') 14 | break; 15 | default: 16 | console.log('QUALQUER OUTRO AQUI') 17 | break; 18 | } 19 | } 20 | 21 | teste('Julio') -------------------------------------------------------------------------------- /aula-18.js: -------------------------------------------------------------------------------- 1 | 2 | function calcular(valor) { 3 | if (valor === 0) { 4 | throw new Error('Não pode ser 0'); 5 | } 6 | return valor / 2; 7 | } 8 | 9 | try { 10 | const resultado = calcular(543); 11 | console.log('resultado:', resultado); 12 | } catch (error) { 13 | console.log(error.message) 14 | } finally { 15 | console.log('Chegou no finally') 16 | } 17 | 18 | console.log('continua') 19 | -------------------------------------------------------------------------------- /aula-19.js: -------------------------------------------------------------------------------- 1 | function calcular() { 2 | console.log('calcular'); 3 | console.log(arguments); 4 | } 5 | 6 | const calcular2 = function() { 7 | console.log('calcular 2'); 8 | return 53252; 9 | } 10 | 11 | const calcular3 = (funcao) => { 12 | console.log('calcular3') 13 | return funcao() 14 | } 15 | 16 | 17 | console.log('resultado: ', calcular3(calcular2)) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /aula-20.js: -------------------------------------------------------------------------------- 1 | const idade = 654; 2 | 3 | const exibirIdade = () => { 4 | const idade = 23; 5 | console.log(idade); 6 | } 7 | 8 | const exibirExibirIDade = () => { 9 | exibirIdade(); 10 | console.log(idade); 11 | } 12 | 13 | 14 | exibirExibirIDade(); 15 | -------------------------------------------------------------------------------- /aula-21.js: -------------------------------------------------------------------------------- 1 | 2 | const test1 = (callback) => { 3 | setTimeout(() => { 4 | console.log('test1'); 5 | }, 200) 6 | } 7 | 8 | const test2 = (callback) => { 9 | setTimeout(() => { 10 | console.log('test2'); 11 | callback() 12 | }, 600) 13 | } 14 | 15 | const test3 = (callback) => { 16 | setTimeout(() => { 17 | console.log('test3'); 18 | }, 300) 19 | } 20 | 21 | const test4 = (callback) => { 22 | setTimeout(() => { 23 | console.log('test4'); 24 | }, 1) 25 | } 26 | 27 | const funcaoCallBack = () => { 28 | console.log('SALVOU O USUARIO') 29 | } 30 | 31 | test1(); 32 | console.log(1 + 1) 33 | test2(funcaoCallBack); 34 | test3(); 35 | console.log(2 + 2) 36 | test4(); -------------------------------------------------------------------------------- /aula-22.js: -------------------------------------------------------------------------------- 1 | const sleep = async (ms) => { 2 | return new Promise(resolve => setTimeout(resolve, ms)) 3 | } 4 | 5 | const aguardarComRetorno = async () => { 6 | await sleep(3000); 7 | return 30; 8 | } 9 | 10 | 11 | const aguardar = async () => { 12 | console.log('PASSOU', 2 ** 2); 13 | const resultado = await aguardarComRetorno(); 14 | console.log('resultado', resultado); 15 | console.log('PASSOU', 3 ** 3); 16 | console.log('PASSOU', 4 ** 4); 17 | console.log('PASSOU', 5 ** 5); 18 | console.log('PASSOU', 9 ** 9); 19 | console.log('PASSOU', 1 ** 1); 20 | } 21 | 22 | aguardar(); -------------------------------------------------------------------------------- /aula-23.js: -------------------------------------------------------------------------------- 1 | const fatorial = (valor) => { 2 | if (valor === 0 || valor === 1) { 3 | return 1; 4 | } 5 | return valor * fatorial(valor - 1); 6 | } 7 | 8 | 9 | console.log(fatorial(100)); 10 | -------------------------------------------------------------------------------- /aula-24.js: -------------------------------------------------------------------------------- 1 | process.stdin.setEncoding('utf8'); 2 | 3 | const soma = (valor) => { 4 | if (valor < 0 || valor > 100) { 5 | throw new Error('Valor inválido, programa será encerrado.') 6 | } 7 | if (valor === 0) { 8 | return 0; 9 | } 10 | return valor + soma(valor - 1) 11 | } 12 | 13 | process.stdin.on('data', function(data) { 14 | try { 15 | console.log('soma: ', soma(Number(data))) 16 | } catch (error) { 17 | console.log(error.message) 18 | process.stdin.pause() 19 | } 20 | 21 | }); 22 | 23 | 24 | -------------------------------------------------------------------------------- /aula-25.js: -------------------------------------------------------------------------------- 1 | const jose = { 2 | idade: 35, 3 | peso: 80, 4 | nome: 'José', 5 | genero: 'Masculino', 6 | nacionalidade: 'Brasileiro', 7 | endereco: 'Rua qualer', 8 | numero: 432, 9 | pais: 'Brasil', 10 | temFilhos: true, 11 | } 12 | 13 | const exibirInformacoes = (pessoa, qualInformacao) => { 14 | console.log(`${qualInformacao} do(a) ${pessoa.nome}:`, pessoa[qualInformacao]); 15 | } 16 | 17 | exibirInformacoes(jose, 'genero') -------------------------------------------------------------------------------- /aula-26.js: -------------------------------------------------------------------------------- 1 | 2 | const lista = [ 3 | { 4 | nome: 'Jose', 5 | idade: 13 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'Gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | const converterObjeto = (objeto) => { 42 | return { 43 | ...objeto, 44 | idade: `${objeto.nome} + ${objeto.idade}` 45 | } 46 | } 47 | 48 | console.log(lista.map(converterObjeto)); -------------------------------------------------------------------------------- /aula-27.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13 5 | }, 6 | { 7 | nome: 'Joao', 8 | idade: 42 9 | }, 10 | { 11 | nome: 'Maria', 12 | idade: 23 13 | }, 14 | { 15 | nome: 'Gabriela', 16 | idade: 25 17 | }, 18 | { 19 | nome: 'Fernanda', 20 | idade: 65 21 | }, 22 | { 23 | nome: 'André', 24 | idade: 69 25 | }, 26 | { 27 | nome: 'Heitor', 28 | idade: 32 29 | }, 30 | { 31 | nome: 'Gustavo', 32 | idade: 64 33 | }, 34 | { 35 | nome: 'Sandra', 36 | idade: 33 37 | }, 38 | ] 39 | let soma = 0; 40 | 41 | // for(let i = 0; i < lista.length; i++ ) { 42 | // soma += lista[i].idade 43 | // } 44 | 45 | const somaIdade = (objeto) => { 46 | soma += objeto.idade 47 | } 48 | 49 | lista.forEach(somaIdade); 50 | 51 | console.log('Soma: ', soma) -------------------------------------------------------------------------------- /aula-28.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | exibir: true, 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'Gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | const filtrarPessoa = (pessoa) => pessoa.nome === 'Fernanda'; 42 | 43 | const listaFiltrada = lista.filter(filtrarPessoa); 44 | 45 | console.log(lista); 46 | 47 | console.log(listaFiltrada); -------------------------------------------------------------------------------- /aula-29.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | exibir: true, 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'Gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | const buscarPessoa = (pessoa) => pessoa.nome === 'Fernanda'; 42 | 43 | const novaPessoa = lista.find(buscarPessoa); 44 | 45 | console.log(novaPessoa); -------------------------------------------------------------------------------- /aula-30.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | exibir: true, 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'Gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | // const pessoa = { 42 | // jose: { 43 | // idade: 54, 44 | // }, 45 | // joao: { 46 | // idade: 65, 47 | // }, 48 | // maria: { 49 | // idade: 23 50 | // } 51 | // } 52 | 53 | const funcaoReduce = (acc, objeto) => { 54 | return { 55 | ...acc, 56 | [objeto.nome]: { 57 | idade: objeto.idade 58 | } 59 | } 60 | } 61 | 62 | const pessoas = lista.reduce(funcaoReduce, {}); 63 | 64 | const pessoasArray = lista.reduce((acc, objeto) => { 65 | acc.push(objeto.idade); 66 | return acc; 67 | }, []); 68 | 69 | console.log(pessoas); 70 | console.log(pessoas.Gustavo.idade); 71 | console.log(pessoasArray); 72 | 73 | -------------------------------------------------------------------------------- /aula-31.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | exibir: true, 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'Gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | const funcaoReduce = (acc, objeto) => { 42 | return { 43 | ...acc, 44 | [objeto.nome]: { 45 | idade: objeto.idade 46 | } 47 | } 48 | } 49 | 50 | const pessoas = lista.reduce(funcaoReduce, {}); 51 | 52 | const chaves = Object.keys(pessoas); 53 | 54 | const listaDeVolta = chaves.map((chave) => ({ 55 | nome: chave, 56 | idade: pessoas[chave].idade 57 | })) 58 | 59 | // console.log(pessoas); 60 | 61 | // console.log(chaves); 62 | 63 | console.log(listaDeVolta); 64 | 65 | -------------------------------------------------------------------------------- /aula-32.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | exibir: true, 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | lista.sort((a, b) => { 42 | if (a.nome.toUpperCase() < b.nome.toUpperCase()) { 43 | return -1; 44 | } 45 | if (a.nome.toUpperCase() > b.nome.toUpperCase()) { 46 | return 1; 47 | } 48 | return 0; 49 | }); 50 | 51 | console.log(lista) -------------------------------------------------------------------------------- /aula-33.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | exibir: true, 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42 10 | }, 11 | { 12 | nome: 'Maria', 13 | idade: 23 14 | }, 15 | { 16 | nome: 'gabriela', 17 | idade: 25 18 | }, 19 | { 20 | nome: 'Fernanda', 21 | idade: 65 22 | }, 23 | { 24 | nome: 'André', 25 | idade: 69 26 | }, 27 | { 28 | nome: 'Heitor', 29 | idade: 32 30 | }, 31 | { 32 | nome: 'Gustavo', 33 | idade: 64 34 | }, 35 | { 36 | nome: 'Sandra', 37 | idade: 33 38 | }, 39 | ] 40 | 41 | const resultadoSome = lista.some((objeto) => objeto.idade > 50); 42 | const resultadoEvery = lista.every((objeto) => objeto.idade >= 10); 43 | 44 | 45 | console.log('resultadoSome:', resultadoSome) 46 | console.log('resultadoEvery:', resultadoEvery) -------------------------------------------------------------------------------- /aula-34.js: -------------------------------------------------------------------------------- 1 | const lista = [ 2 | { 3 | nome: 'Jose', 4 | idade: 13, 5 | cartoes: ['3244', '5435'] 6 | }, 7 | { 8 | nome: 'Joao', 9 | idade: 42, 10 | cartoes: ['321', '64'] 11 | }, 12 | { 13 | nome: 'Maria', 14 | idade: 23, 15 | cartoes: ['423', '654'] 16 | }, 17 | { 18 | nome: 'gabriela', 19 | idade: 25, 20 | cartoes: ['543', '87'] 21 | }, 22 | { 23 | nome: 'Fernanda', 24 | idade: 65, 25 | cartoes: ['231', '87'] 26 | }, 27 | { 28 | nome: 'André', 29 | idade: 69, 30 | cartoes: ['324', '76'] 31 | }, 32 | { 33 | nome: 'Heitor', 34 | idade: 32, 35 | cartoes: ['432', '765'] 36 | }, 37 | { 38 | nome: 'Gustavo', 39 | idade: 64, 40 | cartoes: ['435', '765'] 41 | }, 42 | { 43 | nome: 'Sandra', 44 | idade: 33, 45 | cartoes: ['234', '654'] 46 | }, 47 | ] 48 | 49 | const cartoes = lista.flatMap((cartao) => cartao.cartoes); 50 | 51 | console.log(cartoes); 52 | -------------------------------------------------------------------------------- /aula-35.js: -------------------------------------------------------------------------------- 1 | 2 | class Pessoa { 3 | nome; 4 | idade; 5 | filhos; 6 | 7 | quantosFilhos() { 8 | if (this.filhos) { 9 | return this.filhos.length; 10 | } 11 | return 0; 12 | } 13 | 14 | constructor(nome, idade, filhos) { 15 | this.nome = nome; 16 | this.idade = idade; 17 | this.filhos = filhos; 18 | } 19 | } 20 | 21 | const filho1 = new Pessoa('Gustavo', 13); 22 | const filho2 = new Pessoa('Gabriela', 10); 23 | console.log('filho1 tem: ', filho1.quantosFilhos()) 24 | 25 | const pessoa = new Pessoa('José', 54, [filho1, filho2]); 26 | 27 | console.log('Quantos filhos? ', pessoa.quantosFilhos()) 28 | console.log(pessoa); -------------------------------------------------------------------------------- /aula-36.js: -------------------------------------------------------------------------------- 1 | class Usuario { 2 | email; 3 | senha; 4 | nome; 5 | 6 | constructor(email, senha, nome) { 7 | this.email = email; 8 | this.senha = senha; 9 | this.nome = nome; 10 | } 11 | } 12 | 13 | class Administrador extends Usuario { 14 | permissoes; 15 | 16 | constructor(email, senha, nome, permissoes) { 17 | super(email, senha, nome); 18 | this.permissoes = permissoes; 19 | } 20 | } 21 | 22 | class Comprador extends Usuario { 23 | compras; 24 | } 25 | 26 | const admin = new Administrador('email@emai.com', 'senha', 'Jose', [1, 6]); 27 | 28 | const comprador = new Comprador(); 29 | comprador.senha = 'nova senha'; 30 | 31 | console.log(comprador); 32 | 33 | 34 | -------------------------------------------------------------------------------- /aula-37.js: -------------------------------------------------------------------------------- 1 | class Usuario { 2 | email; 3 | senha; 4 | nome; 5 | 6 | validarSenha(email, senha) { 7 | return email + senha === this.nome; 8 | } 9 | 10 | constructor(email, senha, nome) { 11 | this.email = email; 12 | this.senha = senha; 13 | this.nome = nome; 14 | } 15 | } 16 | 17 | class Administrador extends Usuario { 18 | permissoes; 19 | 20 | validarSenha(email, senha) { 21 | return email === this.email && senha === this.senha; 22 | } 23 | 24 | constructor(email, senha, nome, permissoes) { 25 | super(email, senha, nome); 26 | this.permissoes = permissoes; 27 | } 28 | } 29 | 30 | class Comprador extends Usuario { 31 | compras; 32 | } 33 | 34 | const admin = new Administrador('email@email.com', 'senha', 'Jose', [1, 6]); 35 | const usuario = new Usuario('email@email.com', 'senha', 'Jose'); 36 | 37 | 38 | 39 | const comprador = new Comprador(); 40 | comprador.senha = 'nova senha'; 41 | 42 | console.log(usuario.validarSenha('email@email.com', 'senha')); 43 | console.log(admin.validarSenha('email@email.com', 'senha')); 44 | 45 | 46 | -------------------------------------------------------------------------------- /aula-38.js: -------------------------------------------------------------------------------- 1 | // Object.defineProperties 2 | // Object.defineProperty 3 | 4 | const propriedadePadrao = (valorInicial) => ({ 5 | value: valorInicial, 6 | writable: false, // se estiver true => usario.nome = 'novo nome' 7 | configurable: false, // se estiver true => posso deletar o nome 8 | enumerable: true, // se estiver true => ele será exibido no objeto 9 | }) 10 | 11 | class Usuario { 12 | 13 | constructor(email, senha, nome) { 14 | Object.defineProperties(this, { 15 | nome: propriedadePadrao(nome), 16 | senha: propriedadePadrao(senha), 17 | email: propriedadePadrao(email) 18 | }) 19 | } 20 | } 21 | 22 | const usuario = new Usuario('emails', 'senhas', 'nomes'); 23 | 24 | console.log(usuario); -------------------------------------------------------------------------------- /aula-39.js: -------------------------------------------------------------------------------- 1 | // Object.defineProperties 2 | // Object.defineProperty 3 | 4 | const propriedadePadrao = (valorInicial) => ({ 5 | value: valorInicial, 6 | writable: false, // se estiver true => usario.nome = 'novo nome' 7 | configurable: false, // se estiver true => posso deletar o nome 8 | enumerable: true, // se estiver true => ele será exibido no objeto 9 | }) 10 | 11 | class Usuario { 12 | 13 | constructor(email, senha, nome) { 14 | Object.defineProperties(this, { 15 | nome: { 16 | get: () => nome, 17 | set: (value) => nome = value 18 | }, 19 | senha: { 20 | get: () => senha, 21 | set: (value) => { 22 | if (value.length < 4) { 23 | throw new TypeError('Precisa de pelo menos 4 letras') 24 | } 25 | senha = value 26 | } 27 | }, 28 | email: { 29 | get: () => email, 30 | set: (value) => email = value 31 | } 32 | }) 33 | } 34 | 35 | getEmail() { 36 | return this.email 37 | } 38 | } 39 | 40 | const usuario = new Usuario('emails', 'senhas', 'nomes'); 41 | usuario.senha = 'affdsafa'; 42 | 43 | console.log(usuario.getEmail()); -------------------------------------------------------------------------------- /aula-40.js: -------------------------------------------------------------------------------- 1 | const qualquer = { 2 | abc: 'fdsa', 3 | flkd: 'fdsa', 4 | fdjslajkf: 'gdsag', 5 | fjdl: 'gdsa' 6 | } 7 | 8 | const novoQualquer = { 9 | ...qualquer, 10 | final: 'FINAL' 11 | } 12 | 13 | 14 | const lista = [54, 643, 643, 643, 643]; 15 | const lista2 = [643,754, 7547, 754,84,754]; 16 | 17 | // console.log(qualquer); 18 | // console.log(novoQualquer); 19 | 20 | // console.log(lista); 21 | // console.log(lista2); 22 | 23 | const listaJunta = [ 24 | ...lista, 25 | ...lista2 26 | ] 27 | 28 | console.log(listaJunta); 29 | -------------------------------------------------------------------------------- /aula-41.js: -------------------------------------------------------------------------------- 1 | 2 | class Produto { 3 | nome; 4 | preco; 5 | descricao; 6 | codigo; 7 | quantidade_em_estoque; 8 | 9 | alterarPreco(novoPreco) { 10 | if (novoPreco >= 0) { 11 | this.preco = novoPreco; 12 | } 13 | } 14 | 15 | adicionarEstoque(quantidade) { 16 | this.quantidade_em_estoque += quantidade; 17 | } 18 | 19 | removerEstoque(quantidade) { 20 | const novoEstoque = this.quantidade_em_estoque - quantidade; 21 | if (novoEstoque >= 0) { 22 | this.quantidade_em_estoque = novoEstoque; 23 | } 24 | } 25 | 26 | constructor(nome, descricao, codigo) { 27 | this.nome = nome; 28 | this.descricao = descricao; 29 | this.codigo = codigo; 30 | this.preco = 0; 31 | this.quantidade_em_estoque = 0; 32 | } 33 | } 34 | 35 | class Smartphone extends Produto { 36 | marca; 37 | modelo; 38 | sistema_operacional; 39 | 40 | descricao() { 41 | return ` 42 | nome: ${this.nome} \n 43 | preco: ${this.preco} \n 44 | descricao: ${this.descricao} \n 45 | codigo: ${this.codigo} \n 46 | Quantidade: ${this.quantidade_em_estoque} \n 47 | marca: ${this.marca} \n 48 | modelo: ${this.modelo} \n 49 | sistema operacional: ${this.sistema_operacional} \n 50 | 51 | ` 52 | } 53 | 54 | constructor(nome, descricao, codigo, marca, modelo, sistema_operacional) { 55 | super(nome, descricao, codigo); 56 | this.marca = marca; 57 | this.modelo = modelo; 58 | this.sistema_operacional = sistema_operacional; 59 | } 60 | } 61 | 62 | const smartphone1 = new Smartphone( 63 | 'iPhone', 64 | 'Celular iphone SE', 65 | 'dlksjafkljas', 66 | 'Apple', 67 | 'SE', 68 | 'iOS15' 69 | ); 70 | 71 | smartphone1.alterarPreco(300.30); 72 | smartphone1.adicionarEstoque(5); 73 | 74 | smartphone1.removerEstoque(9); 75 | smartphone1.alterarPreco(50); 76 | 77 | console.log(smartphone1); -------------------------------------------------------------------------------- /tempCodeRunnerFile.js: -------------------------------------------------------------------------------- 1 | listaJunta --------------------------------------------------------------------------------