# Playlist Javascript - Resumo
>[color=#055b5c]**Autor:** Letícia Rodrigues da Silva
**Número:** 25
**Turma:** IndoD
[toc]
## Introdução
>[color=#055b5c]1 - javascript é uma linguagem de programação de alto nível(seus comandos estão mais próximos da linguagem natural do que da linguagem de máquina).
2 - não precisa informar o tipo da variável.
3 - linguagem case sensitivy(quando maiúculas e minúsculas importam).
"use strict" - tira a fraca rigidez ao digitar os códigos.
javascript é uma linguagem dinâmmica de tipagem fraca(significa que o valor pode ser alterado após ser definido).
diferente do c#, javascript não possui muitas regras.
0 = false / 1 = true
## Variáveis
>[color=#055b5c]4 - se usa o "var" para declarar uma variável;
criando variavel com a palavra let(pode - se alterar o valor após o mesmo ser definido, semelhante a palavra var).
let e const são mais utilizados;
5 - criar multiplas variáveis usando a instrução "var";
ex: var a = 10, b = "oie", c = false, d = new Date();
6 - para alterar uma variável não precisa usar o var(ex: d = 30).
7 - tipos primitivos(int, string, bool, date, etc..).
8 - criando variavel com a palava const(após ser definido o valor, o mesmo não poderá ser alterado).
9 - identificando o tipo da variável usando o "typeof".
10 - operadores matemáticos: +, -, *, /.
11 - criando expressões matemáticas em uma unica linha de código(ex: var x = 10 * 2 - 2).
12 - processo de incrementação e decrementação
13 - operadores aritméticos e concatenação.
14 - formas de conversão de number para string. Usando string(ex: var b = String(a)) e toString(ex: b = a.toString).
15 - conversão de string para number. Usando Number(ex: var b = Number(a)) e utiluzando parseInt(ex: b = a.parseInt(a)) / parseFloat(converte para números decimais).
16 - trabalhando com boolean
17 - conversão de string em date:
18 - javascript realiza algumas conversões automaticamente, ex:
variáveis do tipo numérico: x++(adição de 1 em 1) / x--(subtração de 1 em 1).
19 - valor null - é um objeto, valor da ausencia de um valor.
funções anônimas: não possuem nome, ficam armazenadas em uma variável;
funções de leitura são acessadas através das funções get:
funções nomeadas: as funções são acessadas atraves de seu nome;
negação tambem é utilizada com variáveis.
no caso de ausencia de valores, se tornara undefined.
o parametro é uma variável mas não é necessário especificar seu tipo
operado ===(além de comparar os valores também irá comparar os tipos).
para declarar uma variável se usa "const"(não pode ser alterada após ser criada).
também é possivel chamar com variáveis.
## função de texto
>[color=#055b5c]21 - manipulando variáveis do tipo string.
22 - indexOff: indica a posição de um caractere.
23 - charAt: pesquisar o caractere a partir de uma posição dada;
charCodeAt: retorna o código ASCII.
24 - replace: substituir um texto ou caractere por outro.
26 - substring: irá cortar um texto, recebe dois parametros(começo do recorte e final).
27 - split: transformar um texto em um array(recebe um parametro que diz a partir de que caractere como cará a transformação).
28 - concat: contatenar. Aceita quantos parametros o programador desejar passar.
forma de usar o indexOff: texto.indexOff(l) - indicando um caractere;
lastIndexOf: procura a posição só que o ultimo para o primeiro.
lastIndexOff: começa do final para o começo.
length: retorna a quantidade de caracteres.
texto.index.Off("a", 8) - irá procurar o "a" a partir da oitava posição.
## função de número
>[color=#055b5c]29 - Math.ceil: arredonda para cima;
30 - Math.pow: realiza a potência de um valor;
31 - Math.abs: retorna sempre um valor absoluto(positivo);
32 - Math.random: gera um número aleatório;
: reprovou
? passou
? verdadeiro / : falsa, ex:
Ex: const somar(a, b) => {
Math.floor: arredonda para baixo;
Math.max: irá identificar qual o maior número entre os que foram passados;
Math.min: irá retornar o menor número.
Math.round: arredondar para apenas 1 digito.
Math.sqrt: realiza a raiz quadrada de um valor.
operador para realizar a potência: ** (ex: x = 10 ** 2 = 100).
## função de data
>[color=#055b5c]33 - variável do tipo data é um objeto;
34 - a contagem de mes em javascript começa do 0, ou seja, janeiro seria 0.
getDate: retorna o dia;
getDay: retorna o dia da semana / número do dia;
getFullYear: retorna o ano;
getMonth: retorna o numero do mes;
setDate: alterar o dia.
## Condição
>[color=#055b5c]35 - escolha do programa entre executar uma linha de código ou não.
36 - condição realiza a comparação entre dois valores usando operadores relacionais.
37 - caso a condição seja verdadeira, o comando que está no if será executada.
38 - é possivel comparar com um variavel fixa ou com outra variavel.
39 - toda comparação tem como retorno um boolean.
41 - o comando else(complemento do if) será executado caso a comparação seja falsa.
42 - se o comando if for verdadeiro, os outros comandos não serão executados(else e else if);
43 - o comando if pode ser usado com chamadas de função.
44 - para unir duas comparações no comando if se usa operadores lógicos(||, &&, etc).
45 - o comando && pede para que as duas comparações sejam verdadeiras, já o comando ||, se apenas uma comparação for verdadeira o comando será executado.
46 - trabalhando com operador da negação - ex: if(!(nota < 5)), irá inverter o resultado da condição(se a comparação for falsa será invertida para verdadeira e vice versa);
47 - no comando if os dois valores precisam ser do mesmo tipo, porém se passar string e number, o javascrip converterá automáticamente para number;
48 - if ternário: realiza uma comparação podendo unir a outra comparação;
49 - usando o operador || sem ser no conceito de condição: x = a || 200(significa que se a for null ou undefined, x irá assumir o valor de 200).
50 - comando switch: switch(semaforo){
51 - se o comando for verdadeiro o switch será executado, se não tiver outro case para comparação, não será executado nenhum comando.
## Coleção
>[color=#055b5c] 52 - coleção guarda diversos itens dentro dela, representada pelos [] (ex: var numeros = [10, 20, 30, 40]);
53 - array são definidos com [] e separados por virgula;
54 - array também pode ser criado usando uma quebra de linha;
55 - para ler o item de um array é da seguinte forma: var x = nmvariavel[posição do item].
56 - isArray: verifica se uma variável é um array ou não(ex: Array.isArray(nome da variavel)).
57 - length: retorna a quantidade de itens de um array;
58 - forEach: nos itens da variavel realiza uma repetição passando por cada item e para cada item faça alguma coisa.
59 - podemos usar funções especificas para manipular dados de array.
60 - expressões usando a função filter.
61 - função every: verifica todos os itens(retorna true ou false);
62 - indexOff: descobrir a posição de um array;
63 - função find: recebe como parametro outra função(retorna o primeiro item que satisfaça a condição).
64 - função findIndex: ao inves de retornar o valor, retorna a posição do item.
65 - função map: realiza a conversão de um array para outro array;
66 - função reduce: irá sempre retornar um valor novo e assim como as outras, passa por cada item de uma coleção;
pode ter quantas linhas de código o programador desejar;
pop: remove o ultimo item;
push: adiciona itens ao final de uma coleção;
reverse: irá ordenar os itens de forma decrescente;
shift: remove o primeiro item.
sort: ordena de forma crescente.
splice: permite adicionar informando a posição.
## Repetição
>[color=#055b5c]67 - for: utilizado quando queremos contar.
68 - o comando for possui 3 partes(for (var i = 0; i < 10; i++))
70 - em variáveis do tipo objeto, o comando for pode descobrir cada um dos campos de um objeto complexo(ex: for (var p in pessoa): pessoa é a variável que será inspecionada).
71 - comando while: é mais abrangente que o for, baseado em uma condição podendo ser qualquer uma(variáveis, funções, etc);
72 - no comando while podemos comparar qualquer tipo de função variáveis, etc, sendo assim mais abrangente que o for, o for apenas realiza contagens numericas;
while pode ser lido como enquanto(ex: while(ano <= 2020) - significa que enquando o ano for menor ou igual a 2020, o comando será repetido);
73 - comando continue: irá pular uma das voltas do comando for;
i < 10 - define a condição para que o for continue
i = 0 - valor de onde começará a contagem
i++ - a cada volta realizada será somada 1
break;
case "tests que serão feitos em relação a variável":
console.log("mensagem")
}
return r;
var r = x * 2;
return function(x){
}
let s = a + b;
return s;
}
}
comando break: ao inves de pular, ele encerra a repetição.
comando do: realiza o seu primeiro teste só depois que os comandos já foram executados, o comando do while é execuado pelo menos 1 vez.
comando if é sempre um novo comando.
some: pelo menos 1 item precisa satisfazer a comparação.
## Função
>[color=#055b5c] 74 - função é um dos principais elementos em uma linguagem;
a linguagem js trata a função como elementos diferenciados.
75 - funções podem receber ou não parametros;
o código pode ficar em apenas 1 linha ou dividido em outras linha.
76 - o js irá identificar o tipo sem que o programador precise indicá-lo;
78 - uma função pode ou não ter parametros e pode ou não retornar um valor;
79 - pode-se criar quantas funções for necessário.
80 - para chamar as funções basta chama-lá pelo nome e invocar com os parametros com o tipo certo;
81 - uma função pode chamar outra função.
82 - se na hora de chamar a função for passados os parametros com tipos errados, o programa irá converter automáticamente(ex: se o tipo certo for number e for passado string ao chamar, o programa converterá automaticamente para string);
83 - regras ao chamar uma função: chamar a função pelo nome, passar a quantidade de parametros que a função recebe e armazenar a resposta da função em uma variável;
85 - parametros em uma função são opcionais;
86 - arrow functions: outra forma de escrever funções anonimas é no formato de setas, dividindo os parametros da função do corpo da mesma.
87 - existe uma forma mais abreviada quando a função tiver apenas 1 linha de código usando arrow function, sendo: const somar = (a, b) => a + b.
89 - passagem por valor e passagem por referência;
90 - uma função pode também receber outra função como parâmetro.
91 - funções que retornam função;
os valores que são passados a mais em uma função são desconsiderados;
passagem por refeência: o valor é alterado dentro da função.
passagem por valor: o conteúdo da variável foi copiado para o parametro da função;
pode - se realizar funções dentro da função map;
quando definimos uma função, ela estará pronta para ser usada.
tipos principais: number, string, boolean e object.
toFixed: se usa informando a quantidade de casas decimais que queremos arredondar.
toLowerCase: deixa todos os caracteres em minúsculo.
toUpperCase: deixa todos os caracteres em maiúsculo.
trim: remove os espaços do começo e do final da string.
undefined - não é um objeto, significa que a variável nunca teve um valor.
unshift: adiciona ao começo de uma coleção;
var a = "15" + 5 (string e number, 0 5 automaticamente será convertido para string. Acontecendo assim a concatenação resultando em "155".
var a = Date.parse(x) - será convertido em number
var b = "15" - 5(nesse caso o 15 será convertido para number resultando em 10).
var d = new Date(a) - o retorno será a data.
var x = "2021-08-08"
x += 5(irá adicionar 5 a variável criada).
## Objeto
>[color=#055b5c] 93 - a função pode ou não ter parametros;
a linguagem JavaScript tem a possibilidade de criar objetos compostos.
94 - um objeto é composto de um nome e um valor;
esses objetos são identificados através de {}
ex: function criarDobrador(){
95 - para alterar um objeto composto é como se estivesse alterando uma variavel normalmente;
para atribuir o valor de um objeto se usa ";" maas para ler ou alterar um objeto utiliza-se o sinal =.
96 - um objeto guarda uma coleção de valores, ou um objeto guarda uma coleção de outros objetos;
um objeto também poderia ser um array, porém ao invés de passar posições, iremos colocar o nome do objeto que queremos acessar.
97 - também pode-se armasenar variáveis ou arrays do tipo data;
é possível criar um objeto composto dentro de outro objeto composto através do sinal "{}", podendo assim criar uma cadeia de objetos compostos.
98 - podemos remover objetos apos serem criados usandlo a palavra "delete".
99 - objeto composto pode também obter funções;
100 - outra forma de criar objetos é colocando nome nos mesmos;
para criar um novo objeto, também se usa a palavra function;
o nome do objeto começa sempre com letra maiúscula;
para armazenar os valores que vieram como parametro, se utiliza a palavra "this".
101 - formas de criar um objeto: 1 - declarando o objeto de forma anonima;
2 - criando objeto de forma nomeada.
102 - criando objeto de forma oculta, pode-se usar o metodo arrow function para criar a função.
104 - outra forma de criar objeto é através da paravra "class", dentro da classe definimos a função para o objeto.
105 - função constructor é usada no momento que criamos o objeto.
106 - existem funções especiais chamadas getters e setters, usa-se como uma função normal, só que antes do nome do objeto se coloca o get ou set. get - cosulta,
set - alterar.
108 - existe uma funcionalidade chamada herança, o objeto irá herdar(usando a palavra extends) as funcões e variáveis de otro objeto;
super: chamar o construtor do objeto herdado.
## Módulo
>[color=#055b5c] 109 - em js, quando criamos uma variável a mesma se torna uma variável global.
110 - quando introduzimos o conceito de modulo, quando falamos que cada arquivo em js é um módulo, estamos falando que ele é independente, nãlo sendo mais uma variável global.
111 - existem meios para que um módulo compartilhe informações com outro módulo, através da palavra "export";
export - irá exportar suas informações para que outros módulos possam acessá-las;
ex: export { variável };
no módulo que queremos acessar a informação, iremos utilizar a palavra "import";
ex: import { variavel } from caminho do arquivo.
112 - pode-se exportar mais de uma variável.
113 - pode-se também importar objetos e funções.
114 - podemos exportar direto na variável ou na função que desejamos;
ex: export let texto = "Oie".
115 - outra forma de importar elementos, usando o export default;
export default - com a palavra default não é necessário o uso de chaves(tanto na importação quanto na exportação).
## Escopo
>[color=#055b5c] 116 - contexto de execução(escopo) - toda variável que criamos está ligada ao contexto de execução global.
117 - importancia da palavra let ao criarmos uma variável.
118 - vincular um contexto de execução a outro, definindo uma função dentro de outra;
outer context - qual é o contexto que está sendo apontado.
120 - contexto de execução tem o mesmo raciocínio de quando usamos a sintaxe "class".
121 - na linguagem javascript, contexto de execução são criados por função e não por blocos de comando;
antes de executar um código, a linguagem js aloca espaços na memória para todas as variáveis que são encontradas;
criando a variável com a palavra let, a linguagem cria um alerta;
o escopo permite fazer com que não seja possível criar variáveis em contextos menores e utilizá-las fora desse contexto menor.
122 - para proteger os códigos de erros inesperados, usamos o try e catch;
no try fica o código que queremos executar;
no cath iremos realizar um trecho de código caso tenha erros no try.
{"metaMigratedAt":"2023-06-16T06:51:50.608Z","metaMigratedFrom":"Content","title":"Playlist Javascript - Resumo","breaks":true,"contributors":"[{\"id\":\"f2f98191-1ff5-4afd-8e66-66ff77c4c5b1\",\"add\":41339,\"del\":25505}]"}