Resumo JavaScript
Resumo JavaScript
JavaScript é uma linguagem orientada a objetos. Existem 5 tipos primitivos: strings, number,
boolean, null e undefined. Os três primeiros conseguem ser representados em forma de objeto
(associações de chave, valor).
Criamos uma variável com valor primitivo JS é uma linguagem rápida, já que não é
(string). Quando usamos o método, o JS compilada e sim interpretada. O código é
cria temporariamente um objeto String interpretado pelo motor embutido já nos
para executar o método e depois navegadores, roda no monitor/dispositivo
descarta. (autoboxing) do cliente.
JavaScript interno: Código definido dentro do documento HTML no corpo do elemento script.
JavaScript externo: Código definido em arquivos separados e depois associados aos
documentos HTML através do elemento script.
O JS pode ser aplicado no head (quando o código não depende de elementos HTML que ainda
vão ser carregados, tem funções que serão chamadas depois a partir de eventos. Quando o
usuário clicar em algo, por exemplo) e body (quando o código precisa interagir com elementos
HTML logo que a página carrega). Body é mais recomendado, as páginas são exibidas mais
rapidamente aos usuários.
<head>... <body>...
<script> <p id=”texto”>Opaa</p>
function dizerEaifi() {
alert(“Eaí fi, tá bão?”); <script>
} Document.getElementById(“texto”).textContent = “Bom dia”;
</script> </script>
</head> </body>
A função não se executa sozinha, tem O JS muda o texto para “Bom dia” assim que a página
que chamar, então pode ser no head. carregar, só funciona porque o script tá depois do body.
const pi = 3.14;
Variável fixa, não muda de valor.
alert(“WooW”);
Exibe uma caixa de alerta na tela, interrompe a navegação do usuário até clicar em “OK”, sem HTML, só texto.
console.log("typeof idade");
Mostra no console, o tipo da variável idade.
console.log(typeof valor.toString());
A variável valor é do tipo numérico, mas é apresentada como String nesse caso.
Declarando um array:
var alunos = [‘Rafael’, ‘Lucas’, ‘Hipocreme’]; //array é do tipo object
console.log(alunos.toString()); //Rafael,Lucas,Hipocreme
Não altera o array original, só mostra uma versão em string dele.
Manipulando strings:
console.log('Meu nome é ' + nome + " " + sobrenome + ' e eu sou daora'); //pode ser ‘apóstrofo’ ou “aspas”
console.log(`Meu nome é ${nome} ${sobrenome} e eu sou daora`); //mostra os valores de variáveis, mas tem que ser
entre crases (``)
console.log(“Me chamam de \”Zaurizio\” as vezes”); //precisa de / antes de ‘ ou “ pra ser string
texto = 'Unicamp';
console.log("Tamanho:" + texto.length); //retorna 7
console.log(texto.toUpperCase()); //mostra tudo maiúsculo: UNICAMP
console.log(texto.toLowerCase()); //mostra tudo minúsculo: unicamp
console.log(texto.charAt(3)); //retorna o caracter dessa posição: “c”
texto = "14/02/2025";
var aux = texto.split("/"); // ["14", "02", "2025"]
split("/") quebra a string onde encontrar o caractere “/”, cria um array (aux) com os elementos separados:
["14", "02", "2025"]
texto = "COTIL-UNICAMP-LIMEIRA";
console.log(texto.indexOf('LIMEIRA')); //retorna 15 (posição que está LIMEIRA)
console.log(texto.indexOf('@')); //retorna -1 porque não tem “@” na string
texto = 'Simone';
console.log(nomeTeste.startsWith('Si')); //true
console.log(nomeTeste.endsWith('ni')); //false
Hoisting: É um comportamento do JavaScript onde algumas declarações são movidas automaticamente para o
topo do escopo antes do código ser executado, o valor não é movido. Só funciona com var; let e const dão erro.
console.log(nome); //undefined
var nome = "GZ";
<body>
<h1 id=”titulo”>Meu 20º JS</h1>
------------------------------------------------------------------------------------------------------------------------------------------
function somar() {
var valor1 = document.getElementById("valor1").value;
var valor2 = document.getElementById("valor2").value;
<body>
Valor 1:<br>
<input type=”text” id=”valor1”>
<br><br>
Valor 2:<br>
<input type=”text” id=”valor2”>
<br><br>
Resultado:<br>
<input type=”text” id=”resultado”>
<br>
<span id=”msgErro”></span>
<br>
<input type=”button” value=”Somar” onclick=”somar();”>
A função pega o valor dentro dos forms e coloca em variáveis (string), verifica se os forms
estão preenchidos ao apertar o botão. Se não estão preenchidos, o span, que antes era
invisível ao usuário, agora mostra mensagem de erro. Se estão preenchidos, transforma os
valores em float e soma eles, exibindo o resultado no form.
JSON: JavaScript Object Notation. Transforma um objeto em texto.
Var alunoObj = {
ra: 204217,
nome: ‘Gustavo’
};
São os tipos primitivos: boolean, string e number. São valores puros, simples.
Usamos new para criar objetos. Esses são objetos especiais que encapsulam um valor primitivo.
-----------------------------
console.log(objBoo.valueOf()); // true
console.log(objStr.valueOf()); // "JavaScript Básico"
console.log(objNum.valueOf()); // 10
valueOf() devolve o valor primitivo que está dentro do objeto. O valueOf() só funciona com
esse tipo especial de objeto, já que pega só um valor do tipo primitivo.
Noscript: A tag <noscript> é usada para mostrar um conteúdo alternativo quando o JavaScript estiver
desativado ou não suportado no navegador.
<noscript>
<p>Seu navegador não suporta JavaScript ou ele está desativado.</p>
</noscript>
function somar() {
console.log('Quantidade de argumentos recebidos: ' + arguments.length);
console.log(resultado); //16
if (media < 6) {
alert("Reprovado");
} else {
alert("Aprovado");
}
A função não tem nome mas é guardada dentro da variável calcularMedia. Pede as duas notas com
prompt() e converte para número com parseFloat(). Calcula a média chamando a função.
function clicar() {
}
alert("Clicou!");
= const clicar = () => {
};
alert("Clicou!");
a[0] = "xyz";
a[1] = true;
a[2] = 1.500;
a[3] = "simone";
console.log(a); //mostra o array todo
Concatenando:
var tecnico = ["LP", "BD", "DAW"];
var medio = ["Matemática", "Português", "Biologia"];
var formacaoCompleta = medio.concat(tecnico);
map(): é um método de array que cria um novo array baseado em transformações feitas em
cada item, não altera o array original.
Reduce(): serve para "reduzir" um array a um único valor, somando, multiplicando, juntando...
Estrutura:
array.reduce((acumulador, valorAtual) => {
return acumulador + valorAtual;
}, valorInicialOpcional);
Exemplo:
const valoresProdutos = [10, 25, 30]; O reduce vai fazer:
const frete = 100;
1ª vez: acumulador = 100, atual = 10 → total = 110
const total = valoresProdutos.reduce( 2ª vez: acumulador = 110, atual = 25 → total = 135
(acumulador, atual) => acumulador + atual, 3ª vez: acumulador = 135, atual = 30 → total = 165
frete total = 165
);
let temReprovado = 0;
temReprovado = notas.find(x => x < 6); //4.5
if (temReprovado > 0) {
console.log("Há aluno(s) reprovado(s) na turma!");
}
some: se pelo menos um return da iteração for verdadeiro, ele retorna true
console.log(nomesTeste.some(nome => nome === 'Lucas'));
if (aprovados) {
console.log("Todos aprovados!");
} else {
console.log("Existem alunos sem média!");
}
filter - retorna um array com a lista de valores que durante a sua iteração retornaram um valor
verdadeiro
var precos = [1.99, 2.50, 100, 200, 5, 9, 2];
forEach(): serve para percorrer todos os itens de um array, executando uma função para cada
um deles.
function somar(...numeros) {
return numeros.reduce((total, n) => total + n);
}
console.log(somar(1, 2, 3, 4)); // 10
Datas:
Acessando partes da data:
Criando objeto com data atual:
hoje.getDay() – dia da semana (0 a 6)
var hoje = new Date();
hoje.getDate – (dia do mês)
hoje.getSeconds() – segundos
Dia da semana por extenso:
var diaSemanaNum = hoje.getDay(); // Dia da semana (0 = Domingo)
var semana = ["Domingo", "Segunda-feira", ..., "Sábado"];
var diaSemanaTexto = semana[diaSemanaNum];
Comparando datas: dataX == dataY não funciona, tem
Criando objetos Date: que usar getTime()
var data = new Date(1994, 0, 22, 15, 23, 35); if (dataX.getTime() == dataY.getTime()) {
// Ano, Mês (0 = jan), Dia, Hora, Minuto, Segundo console.log("Datas iguais!");
}