3.1 Tipo Number
Números em JavaScript têm um papel importante quando lidamos com dados e ao realizar cálculos. A linguagem oferece várias possibilidades para trabalhar com números, incluindo diferentes tipos de operações e métodos embutidos.
No JavaScript, existe um tipo de dado para números — Number. Esse tipo de dados representa tanto números inteiros quanto números de ponto flutuante. Adicionalmente, a partir de 2020, foi introduzido o tipo BigInt para lidar com números inteiros muito grandes.
Exemplos:
let integer = 42; // Número inteiro
let float = 3.14; // Número de ponto flutuante
let bigInt = 12345678901234567890n; // Número inteiro grande
Operações com números
Operações aritméticas:
Operação | Sintaxe | Descrição | Exemplo | Resultado |
---|---|---|---|---|
Adição | a + b | Soma dois números | 5 + 3 | 8 |
Subtração | a - b | Subtrai um número do outro | 10 - 4 | 6 |
Multiplicação | a * b | Multiplica dois números | 7 * 3 | 21 |
Divisão | a / b | Divide um número pelo outro | 20 / 5 | 4 |
Resto da Divisão | a % b | Retorna o resto da divisão | 10 % 3 | 1 |
Potência | a ** b | Eleva um número à potência | 2 ** 3 | 8 |
Incremento e Decremento
Operação | Sintaxe | Descrição | Exemplo | Resultado |
---|---|---|---|---|
Incremento | ++a | Aumenta o valor em um (prefixado) | let a = 5; ++a; |
6 |
Incremento | a++ | Aumenta o valor em um (posfixado) | let a = 5; a++; |
5 (e então 6) |
Decremento | --b | Reduz o valor em um (prefixado) | let b = 5; --b; |
4 |
Decremento | b-- | Reduz o valor em um (posfixado) | let b = 5; b--; |
5 (e então 4) |
Operações Combinadas
Operação | Sintaxe | Descrição | Exemplo | Resultado |
---|---|---|---|---|
Adição com Atribuição | a += b | Soma e atribui o resultado | let x = 10; x += 5; |
15 |
Subtração com Atribuição | a -= b | Subtrai e atribui o resultado | let x = 10; x -= 3; |
7 |
Multiplicação com Atribuição | a *= b | Multiplica e atribui o resultado | let x = 10; x *= 2; |
20 |
Divisão com Atribuição | a /= b | Divide e atribui o resultado | let x = 10; x /= 2; |
5 |
Resto com Atribuição | a %= b | Encontra o resto e atribui o resultado | let x = 10; x %= 3; |
1 |
3.2 Métodos Embutidos
Em JavaScript, há um objeto embutido Math
para realizar várias operações matemáticas.
1. Math.round():
Arredonda um número para o inteiro mais próximo.
let rounded = Math.round(4.6); // 5
2. Math.ceil():
Arredonda um número para cima até o inteiro mais próximo.
let ceil = Math.ceil(4.2); // 5
3. Math.floor():
Arredonda um número para baixo até o inteiro mais próximo.
let floor = Math.floor(4.8); // 4
4.Math.random():
Retorna um número aleatório no intervalo de 0 a 1.
let random = Math.random();
5. Math.max() e Math.min():
Retornam o valor máximo e mínimo de um conjunto de números.
let max = Math.max(1, 2, 3, 4); // 4
let min = Math.min(1, 2, 3, 4); // 1
6. Math.sqrt():
Retorna a raiz quadrada de um número.
let sqrt = Math.sqrt(16); // 4
7. Math.pow():
Retorna um número elevado a uma potência especificada.
let pow = Math.pow(2, 3); // 8
3.3 Parsing de Strings para Números
Função parseInt():
Converte uma string para um número inteiro.
let int = parseInt('123'); // 123
Função parseFloat():
Converte uma string para um número de ponto flutuante.
let float = parseFloat('3.14'); // 3.14
Função Number():
Converte um valor para um número.
let num = Number('42'); // 42
Verificando Valores
Função isNaN():
Verifica se o valor é NaN (Not-a-Number).
let isNotNumber = isNaN('hello'); // true
Função isFinite():
Verifica se o valor é um número finito (se é infinito ou não).
let finite = isFinite(10); // true
let notFinite = isFinite(Infinity); // false
3.4 Particularidades dos Números em JavaScript
1. Limites Numéricos
Em JavaScript, os números são representados em formato de ponto flutuante de dupla precisão, o que tem algumas limitações:
- Valor máximo: Number.MAX_VALUE
- Valor mínimo: Number.MIN_VALUE
- Infinito positivo: Infinity
- Infinito negativo: -Infinity
- Não é número (NaN): valor que não é um número
2. Precisão dos Números
Trabalhar com números de ponto flutuante pode levar a problemas de precisão:
let sum = 0.1 + 0.2;
console.log(sum); // 0.30000000000000004
Isso acontece em todas as linguagens de programação – e JavaScript não é exceção.
3.Números Inteiros Seguros
Em JavaScript, existe o conceito de números inteiros "seguros" que podem ser representados com precisão como números de ponto flutuante:
- Inteiro seguro máximo:
Number.MAX_SAFE_INTEGER (253 - 1)
- Inteiro seguro mínimo:
Number.MIN_SAFE_INTEGER (-(253 - 1))
GO TO FULL VERSION