Este documento discute tipos de dados em JavaScript, incluindo números, strings, booleanos e operações com esses tipos de dados. Ele explica como declarar e atribuir valores a variáveis, fazer cálculos usando operadores aritméticos e de atribuição, além de abordar precedência de operadores e concatenação/conversão de strings.
3. Tipos de dados: JavaScript
• Tipos de dados mais comuns:
• Numéricos
• inteiros (ex: 243, -9, 0)
• frações/floating-point (ex: 1.2321, -43243.2)
• Texto/strings
• “...” ou ‘...’
• Booleanos
• Verdadeiro (true) ou Falso (false)
4. Tipos de dados: Escrever strings com ‘ ou “
• => It’s friday?
• ‘It’s nice!’
• “It’s nice!”
• ‘It’s nice!’ //sequência de escape com
• => É “fabuloso”!
• “É “fabuloso”!”
• ‘É “fabuloso”!’
• “É ”fabuloso”!”
5. Tipos de dados: Exemplo sequências de escape
Tabela retirada de “Beginning JavaScript, pág 19
6. Armazenamento de informação
• Armazenamento temporário
• Variáveis
• armazenadas na memória do computador
• grande velocidade de leitura e escrita
• Armazenamento permanente
• Ficheiros
• txt, cookies,...
• Bases de dados
• em LabMM 4!
7. Variáveis: JavaScript
• Case sensitive
• mVariavel é diferente de mvariavel
• Palavras chave e palavras reservadas
• todas as palavras que fazem parte da linguagem e mais algumas...
• http://www.quackit.com/javascript/javascript_reserved_words.cfm (lista completa)
• Caracteres proibidos - todos os especiais com exceção do “_” e “$”
• &, %, ?,... (palavras com acentos não devem ser utilizadas!)
• Nomes têm que começar com: letra, “_” ou “$”
• Ser consistente nos nomes e na forma!
• por exemplo, lower camel case, nomes com significado, prefixos,...
8. Variáveis: JavaScript
• Declaração
• var minhaVariavel;
• Atribuição
• minhaVariavel = 30;
• var outraVariavel = “Olá”;
• minhaVariavel = outraVariavel;
• Valor de uma variável não inicializada
• undefined
9. typeof() - Qual o tipo de dados?
• Para saber o tipo de dados armazenado numa variável
• typeof(variavel); // retorna o tipo de dados armazenado
• Resultados possíveis:
• “undefined”
• “boolean”
• “string”
• “number”
• “object” //se é um objecto ou null
• “function”
10. Cálculos numéricos: expressões
• Atribuição de valores a variáveis
• var intTotal = 10; // O “=” é o operador de atribuição
• var jogoA = 4, jogoB;
• jogoB = 5;
• intTotal = jogoA + jogoB; // resultado?
11. Operadores aritméticos
• Operadores base
• +, -, *, /
• % Módulo (resto da divisão inteira)
• a = 13 % 4; => 1
• ++/-- Incremento/Decremento
• y++; => y = y + 1;
• y--; => y = y - 1;
• NOTA: numa expressão, y++ ou ++y pode provocar resultados diferentes
• - negação
• y = -a;
12. Operadores de atribuição
• Outros operadores
• x += 5; => x = x + 5;
• x += z; => x = x + z;
• x -= 5; => x = x - 5;
• x *= 5; => x = x * 5;
• x /= 5; => x = x / 5;
• x %= 5; => x = x % 5;
• Assumindo um valor inicial de x = 10 e z = 2, qual o resultado de cada
uma das expressões anteriore?
13. Regras de precedência
• Podem ser muito complexas mas para já só precisamos das aplicáveis na
matemática básica.
• resultado = 5 * 2 + 3; => ?
• resultado = 5 + 2 * 3; => ?
• resultado = 5 * (2 + 3); => ?
• resultado = 2 + 4 * (2 - 1); => ?
• Regras globais de precedência são complexas mas simples de aplicar nos
casos mais regulares!
• https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
14. Concatenação de strings
• Exemplos:
• var nome = “Ana” + “Lopes”; => “AnaLopes”
• var nome = “Ana” + “ Lopes”; => “Ana Lopes”
• var nome = “Ana” + “ “ + “Lopes”; => “Ana Lopes”
• Concatenação de strings com números:
• var t = “A minha idade: “ + 21; => “A minha idade: 21”
15. Conversão para número
• Soma de duas strings que podem ser interpretadas como número:
• var soma = “12” + “34”; => “1234”
• var legumes = 1 + 4 + “nabos”; => “5nabos”
• var legumes = “nabos” + 1 + 4; => “nabos14”
• Conversão para número
• parseInt(string); => número inteiro
• parseFloat(string); => número real
16. parseInt() e parseFloat()
• Exemplos:
• var soma = parseInt(“12”) + parseInt(“34”); => 46
• var numero = parseInt(“342abb”); => 342
• var numero = parseFloat(“3.02ppp”); => 3.02
• Nem sempre é possível converter para número:
• var num = parseInt(“teste”); => NaN (Not a Number)
• var num = parseInt(“a123”); => NaN
17. Tipos de dados: para mais detalhes
• Estudar Capítulo 3, até à pág. 40, do livro “Professional JavaScript for Web
Developers”
• Exemplos mais complexos:
• var num3 = Number(“000011”); //11
• isNaN(10); //false
• if (string) -> true ou false?
• var num3 = parseInt(“10”, 10); //10 - parsed as decimal
• ...
18. Comentários
• Uma linha:
// Isto é um comentário de uma linha
// Para segunda linha é necessário repetir código
• Várias linhas:
/*
Isto é um comentário multi-linha
que só termina quando encontrar
*/