# 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
}