Facebook:
Este trabalho do USPCodeLab está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional
O USPCodeLab é um grupo de extensão que tem como objetivo estimular a inovação tecnológica na USP
Dar vida às páginas web
Formalmente, ECMAScript
Roda no navegador e fora dele
typeof 0 // "number"
typeof 1.4 // "number"
typeof 'c' // "string"
typeof "foo" // "string"
typeof true // "boolean"
typeof false // "boolean"
typeof undefined // "undefined"
typeof null // "object"
1 + 4 // 5
3.1 - 4.1 // -1 (-0.999999999998)
0.3333333333333333 * 3 // 1
10 / 4 // 2.5
17 % 10 // 7
2 ** 10 // 1024
2 > 4 // false
1 >= 1 // true
2 < 4 // true
1 <= 1 // true
1 == 1 // true
1 != 1 // false
1 === true // false
1 === 1 // true
Operador ! (NOT)
valor | NOT
------+------- !true // false
true | false !false // true
false | true
Operador && (AND)
AND | true | false true && true // true
------+-------+------- true && false // false
true | true | false false && true // false
false | false | false false && false // false
Operador || (OR)
OR | true | false true || true // true
------+-------+------- true || false // true
true | true | true false || true // true
false | true | false false || false // false
"variáveis"
{
variáveis
constantes
ou
armazenar e articular dados
declaradas com keywords let e const
let mensagem;
mensagem = "Essa é uma 'variável' variável";
mensagem = "Pode alterar o valor dela";
const mensagem = "Essa é uma 'variável' constante";
mensagem = "Não pode alterar o valor dela";
// Thrown:
// TypeError: Assignment to constant variable.
// essa forma é permitida
let nome = "João";
let idade = 27;
// ... várias coisas ...
console.log(`Ele é ${nome} e tem ${idade} anos`);
// Ele é João e tem 27 anos
// essa também
let nome = "João",
idade = 27;
const pi = 3.14,
natal = "25 de dezembro";
const x = 2,
y = 4;
let answer;
answer = x < y;
console.log(answer);
// true
answer = 2*x <= y;
console.log(answer);
// true
answer = y - x >= 0;
console.log(answer);
// true
const r = Math.random();
const dado = 1 + Math.floor(r * 6);
let resultado;
if (dado >= 5) {
resultado = "Ganhou!";
}
Jogo de dados, regras:
else {
resultado = "Perdeu!";
}
console.log(resultado);
r: aleatório
dado: 1 + piso(6*r)
dado >= 5?
sim
não
resultado: "Ganhou!"
resultado: "Perdeu!"
exibe resultado
O que aconteceu?
<html>
<head>
<title>My title</title>
</head>
<body>
<a href="">My link</a>
<h1>Header</h1>
</body>
</html>
html
head
body
title
a
h1
href
Header
My link
HTML
- Seleciona um elemento da DOM passando um seletor
- ID, Classe, Tag ....
- Seleciona a primeira ocorrência do seletor
Exemplo
<html>
<head>
<title>My title</title>
</head>
<body>
<a href="">My link</a>
<h1 id="mainHeader" class="headers>Header</h1>
<h2 class="headers"> Header2 </h2>
</body>
</html>
const mainHeader = document.querySelector("#head")
const allHeaders = document.querySelector(".headers")
const myLinks = document.querySelector("a'")
Podemos armazenar elementos HTML!!!!
- Retorna todos elementos com o seletor
- Nodelist
- Possui funções de lista (forEach, map...)
<html>
<head>
<title>My title</title>
</head>
<body>
<a href="">My link</a>
<h1 id="mainHeader" class="headers>Header</h1>
<h2 class="headers"> Header2 </h2>
</body>
</html>
const headers = document.querySelectorAll('.headers')
headers.forEach(h => console.log(h))
- Propriedade de elementos HTML
- Descreve o conteúdo de uma tag
<html>
<head>
<title>My title</title>
</head>
<body>
<a href="">My link</a>
<h1>Header</h1>
</body>
</html>
const linkContent = document.querySelector('a').innerHTML
const bodyContent = document.querySelector('body')
<a href="">My link</a>
<h1>Header</h1>
console.log(linkContent) //My link
Usado para alterar as classes dos elementos
classList.add()
classList.remove()
classList.toggle()
Faça uma página que faça o mesmo que o gif ao lado
Entrega no Google Classroom