# Resumo playlist js **NOME** KEVIN RIBEIRO DE ANDRADE **NUMERO** 27 **TURMA** INFOA ## RESUMO funções de texto função charat- a partir de um numero int ele vai retornar a letra correspondente a posição do numero. função charcodeat- retorna o codigo ascii do caractere respectivo ao parametro. no para metro da função replace se vc colocar /i/g, sera igual a substituie todas as letras i sejam maiuscula ou minuscula. ex: g.replace(/f/g, "9"); "ahj9jklah9jkhaio" já se vc colocar /i/i ele irá substituir apenas uma letra i contando da esquerda pra direita. ex: g.replace(/f/i, "%"); "ahj%jklahfjkhaio". A FUNÇÃO SUBSTR funciona como a substring, só que a posição começa do 1 ao invés do 0 como no substring. a função split divide sua string e a transforma em uma array ex: g.split("f"); (3) ["ahj", "jklah", "jkhaio"] para transformar esse arraay em string novamente se usa: fd.join("f"); "ahjfjklahfjkhaio" o parametro é o item que vai fazer a concatenação função concat, concatena tetos: var h = "a", g = "a", m = "a"; undefined h.concat(g, m): FUNÇÕES NUMERICAS Math.ceil();- arrendonda um numero decimal pra cima. math.floor();- arredonda o mumero decimal pra baixo valor.tofixed(nr_casa)- faz um arredondamento de quantas casas decimais o programador(ou usuario vai querer usar)."temos que converter o valor dessa função para number usando number pra conversão". o valor dessa função retorna uma string ex da conversão: Number(x.toFixed(2)); Math.pow(x, 2); - eleva a potencia 2.1127649846289156 objetos nomeados tem que ser instanciados Math.sqrt(x); pega o valor da raiz quadrada 1.2056265342136427 Math.abs(x); - transforma o numero em positivo. 1.45353534 Math.max(32,54, 67, 200); - retorna o maior numero entre os parametros. 200 Math.min(43,1,7,7,x); - retorna o menor numero entre os parametros. 1 Math.random(); - retorna um numero aleatorio. 0.7997457466098727 (multiplacando esse numero por 100 vc sempre obtera um numero com dois digitos antes do ponto, se for por 10 apenas 1, vc pode arredomda-los assim: Math.round( Math.random() * 100); 90 FUNÇÕES DE DATA --> o valor data é um object isso faz com que cada parte de seu valor possa ser lido seperadamente: var xt = new Date(); xt.getDate() - retorna o dia da data. xt.getDay() - retorna o dia da semana. xt.getMonth() - retorna o mes da data. x1.getFullYear() - retorna o ano xt.setDate(3)- altera o dia da data. xtsetDay() - altera o dia da semana. xt.setMonth() - altera o mes da data. xt.setFullYear() - altera o ano da data (tambem da pra ler ou alterar minuto, hora e segundo). "da pra instaciar as datas assim: xt = new Date(2021, 01, 23);" CONDIÇÃO o comando if,else if e else faz uma compração entre valores e o resultado da comparação é definido entre suas chaves. var x = 4; if (x > 5) { console.Log("oi"); } else { console.Log("tchau"); } se o if for falso ele vai executar o else if(se tiver), e o else if não funcionar então o else será executado. as comparações são feitas com operadores relacionais. --> Operadores relacionais maior - > menor - < igu al = == maior ou igual - <= menor ou igual - >= diferente - != quando o comando if tiver apenas uma linha de codigo não é necessaario o uso das chaves. se abriu as chaves tem que fechar. para comparar strings se usa o == ( ele vai verificar cada letra se é maiuscula e minuscula se uma letra tiver maiucula e na vdd era pra ser minuscula a comparação vai dar falso). os comandos if sempre são executados msm se tiver mais de um ou o if anterior der falso(diferente do else, else if). cada if é um novo comundo. é possivel colocar funções no parametro do if: let x = 4; if (Math.sqrt(x) < 0) x = "boloço"; else x = "bololo"; console.log(x); --> operadores logicos: && - compara dois ou mais valores se um resultado for falso o resultado da comparaçãob dará false, já se todos os valores forem true dará true. || - compara dois ou mais valores se um resultado for true o resultado da comparaçãob dará true, já se todos os valores forem false dará false. --> operador de negação ! - ele nega uma valor boolean, se der falso ele transforma em true e assim por diante: let x = 4; if (!(Math.sqrt(x) < 0)) x = "boloço"; else x = "bololo"; console.log(x); o js faz algumas conversõe automaticas de string para number ex: let y = "1"; if (y == 1) y = "balaça"; else y = "aolgldo"; console.log(y); o y foi transformado em number. caso a conversão automatica não funcione vai dar o resultaddo "NaN'. o operador === - não compara só valores mas o tipo dos valores tbm. if alternario só pode ter uma linha de codigo: let vr = 1 > 2 ? "oi" : ! "alan ribeiro"; console.log(vr); se for true vai dar oi e falso vai dar alan ribeiro. o operador || tbm tem outro uso : let p = 12 || 1; console.log(p); nesssa situação a variavel p irá assumir o valor 12 mas se no lugar desse 12 estivesse undefinid ela iria assumir o valor de 1. se algum valor estiver em 0 ele não será passado para p(por conta da conversão do js). comando switch: switch (p) { case "oi": console.log("dsajkhg"); break; case "l": p = 23; break; default: console.log("alan riberip"); break; } case: "oi"; caase: "dhja"; case: "oi"; case encadeado. case pode ser considerado um if e o default é como se fosse um else. FUNÇÕES DE ALTA ORDEM .map - substitui os valores da coleção .filter - filtra os valores da lista .foreach - pique o foreach do c# .every - ao contrario da filter retorna true or false. .some - funciona como o every porém apenas uma condição satisfeita já é o suficiente para retornar true. .indexof e lastindexof(valor, posição). .find - reornar o primeiro item que satisfaz essa condição. .findindex - retorna a posição do valor ao contrario do proprio valor como a função find faz. .reduce - retorna um novo valor, ele recebe dois valores como parametros(tem que ser number) e soma eles os colocando em uma nova variavel, vc pode fazer oq quiser com essas variaveis.: let fs = [ 10, 2, 5 ]; let c = fs.reduce((t, x) => t + x); console.log(c); r: 17. o valor de t assumirá o valor da soma(exceto a primeira volta) e x o valor do procimo a ser somado. COLEÇÕES É um variavel com componentes com diversos valores e e a coleção é representada por conchete: let xd = [10, 3, 4, 7, "oi"]; a coleções podem guardar valores de tipos diferentes, mas aconselho fazer de um só tipo. para adicionar valores a uma coleção: let xd = [10, 3, 4, 7, "oi"]; xd.push(12); - adiciona o item ao final da lista. xd.unshift(87); - adiciona o item no começo da lista. xd.splice(4,0, 21); - deixa vc escolher o lugar da lista que vc quer adicionar o valor, o 1° a posição que vc quer colocar, 2° a qtd de valores que vc quer remover e 3° o valor que vc quer colocar. console.log(xd); --> let xd = [ 10, 3, 4, 7, "oi" ]; (jeito organizado de fazer uma lista). --> para remover itens xd.pop(); - remove o ultimo item. xd.shift(); - remove o primeiro xd.splice(0, 1); - remove qaul vc quiser. --> para ver o valor de uma posição especifica: xd[1} - basta informar o numero da posição no conchete. console.log(Array.isArray(xd)); --> essa função verifica se a variavel é um array ou não. É POSSIVEL FAZER EXORESSÕES ENTRE OS VALORES DA COLEÇÃO. --> FUNÇÃO LENGTH PODE VERIFICAR QUANTOS ITENS TEM O ARRAY: xd.length; --> para inverter a ordem dos itens da array: xd.reverse(); --> para ordenar a lista em ordem crescente; xd.sort(); --> foreach no js: xd.forEach(function(k) { console.log(x); }); - a função x vai passar por cada item da lista, o forech recebe uma outra função como parametro.(a function pode ser substituida por "=>"). xd.forEach(x => console.log(x)); Repetição para reptir um trecho de codgigo varias vezes se usa o comando for: for (let x = 0; x < 10; x++){ console.log("ey"); } primeiro a variavel que funcionará como um contador, segundo a condição que determina a qtd de voltas que será dada e por ultimo oq vai ser feito com o contador. Dentro das chaves é onde fica o codigo que será repwtido. para passar por cada item de uma lista: var vd = [ 2, 3, 5, 8 ]; for(var n of vd) { n += 2; console.log(n); } para passar por cada item do tipo composto; var pr = { h: "k", g: "u" } for (var fd in pr){ console.log(fd); } comando while: let kj = 10; while (kj <= 50){ console.log(kj); kj++; } continue; - pula uma volta break; - para o processo de repetição. do { console.log(kj); kj++; } while (kj <= 50) FUNÇÃO uma função é cida para reprtir um certo trecho de cdg e resolver certos problemas. syntax: let xp = 1; let xj = 3; function soma(xj , xp) { return xj * xp; } as funções fazem calculos dentro de si msm e podem retornar os valors, normalmente são definidas pelos parametros. vc pode chamar funções dentro de outras funções. é possivel fazer funções dentro de uma variavel tbm: const sub = (a, b) => { return a + b; } se vc acessar uma variavel dentro de uma função e passar seu valor para outra a copia vai ser por referencia. caso contrario não. uma função pode receber outra como parametro. funções podem retornar outra funções OBJETOS os objetos são formados por um nome e um valor. como criar o tipo composto: let pessoa = { nomeCompleto: "kevin ribeiro" } let pessoa2 = { nomeCompleto: "kevin rufino" } let pessoa3 = { nomeCompleto: "kevin reis" } tipo composto é uma variavel que guarda varios componentes. para acessar os valores: nomedotipocmposto.nmdavariavel. um tipo composto pode ser uma coleção tbm: let rd = { nm: "bgh", kjj: 98 }; console.log(rd["nm"]); o tipocomposto tbm pode guardar coleções e outros tipos compostos: let rd = { nm: "bgh", kjj: 98, hg: [3, 4, 5], po: { nj: "oi" } }; para adicionar um novo componente do tipo composto: nmdotipocomposto.nmdonovocomponente = valor; para remover um componente do tipo composto: delete nmdotipocomposto.nmdonovocomponente; da pra fazer uma função dentro de outro tipo comosto: let rd = { nm: "bgh", kjj: 98, hg: [3, 4, 5], po: { nj: "oi" }, px: function(xf){ return xf -2; } }; rd.px(5); da pra fazer os parametros da função em tipo composto: function eu (tr2){ this.tr2 = tr2; } var xt = new eu(2345); console.log(xt); da pra criar um tipo composto; class Pessoa { constructor(x, p, i){ this.Nome = "yt"; this.idade = "uy"; this.Dev = i; } } var ta = new Pessoa(1, 5, 8); console.log(typeof(ta)); console.log(ta); eles são alterados da msm forma que os outros tipos compostos.. PARA CRIAR E ACESSAR uma função dentro das classses: class Pessoa { constructor(x, p, i){ this.Nome = "yt"; this.idade = "uy"; this.Dev = i; } oi(){ console.log(`kkkkk ${this.Nome}`); } } var ta = new Pessoa(1, 5, 8); funções get servem pra ler um valor funções set servem pra alterar um valor: class Pessoa { constructor(x, p, i){ this.nome = "yt"; this.idade = "uy"; this.Dev = i; } get Nome() { return this.nome; } set Nome(x) { this.nome = 'gh'; } } var ta = new Pessoa(1, 5, 8); ta.Nome = 'yhmbjkh'; ta.Nome = 'kjafdjksahfjkahfjsahf'; console.log(ta.Nome); VANTAGENS: criar´uma propriedade de com o valor da variavel mas sem alterar a variavel. para addicionar novos campos no tio composto: class Pessoa { constructor(x, p, i){ this.nome = "yt"; this.idade = "uy"; this.Dev = i; } get Nome() { return this.nome; } set Nome(x) { this.nome = 'gh'; } } Pessoa.prototype.BOLI = new Date(); - valor Pessoa.prototype.leto = function(){ console.log("ooooo"); - função } objetos com class podem herdar os valores dos outros: class Pessoa { constructor(x, p, i){ this.nome = "yt"; this.idade = "uy"; this.Dev = i; } get Nome() { return this.nome; } set Nome(x) { this.nome = 'gh'; } } Pessoa.prototype.BOLI = new Date(); Pessoa.prototype.leto = function(){ console.log("ooooo"); } class Homem extends Pessoa { constructor(x, n, i){ super(x, n, i); this.SouHomem = null; } } var to = new Homem("jfdhas", 7, 0); var ta = new Pessoa(1, 5, 8); MODULO por padrão as variaveis que são criadas no js são globais até vc ir na packge.json e adc type: module. assim cada arquivo será individual e terá que ser exportado e importado para exportar: export { nmVariavel_função ou classe } import { nmVariavel_função ou classe} from "local do arquivo que está sendo importado" podemos exportar e importar mais de uma variavel e funções e classes só colocar a virgula depois de cada nome. podemos dar um "as" no import para definir um apelido. podemos exportar assim que criar a variavel,função e classes é só colocar exportar antes de criar a variavel tbm podemos fazer export default. ESCOPO sempre que realizamos um programa as variaveis ficam dentro de um contexto de excução. sempre que criamos uma variavel seu escopo é global se a variavel não estiver sendo criada dentro de uma função ou classe o seu escopo será global(poderá ser acessada em qualquer parte do seu cdg). OUTER CONTEXT - quando o contexto de uma uma variavel, escopo ou função apontam uma para outra ao invés de apontar pro contexto global os ciontextos só são criados através de variaveis e funções(no js). a variavel var tem o escopo maior que as outras isso pode ser problematico. TRATAMENTOS DE ERROS dentro das chaves do try ficará o comando a ser executado e no catch a mensagem que será exibida caso de errado try { cdg a ser executado } catch (e){ mensagem de erro que será exibida }