---
# System prepended metadata

title: Resumo playlist js

---

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