Resumo : neste tutorial, você aprenderá sobre os tipos de números JavaScript e como usá-los de maneira eficaz.
Introdução ao número JavaScript
JavaScript usa o number
tipo para representar números inteiros e valores de ponto flutuante. Tecnicamente, o tipo JavaScript number
usa o formato IEEE-754.
ES2020 introduziu um novo tipo primitivo bigint
que representa grandes números inteiros com valores maiores que 2 53 – 1.
Para oferecer suporte a vários tipos de números, o JavaScript usa diferentes formatos literais de números.
Números inteiros
O seguinte mostra como declarar uma variável que contém um número inteiro decimal:
let counter = 100;
Linguagem de código: JavaScript ( javascript )
Os inteiros podem ser representados nos seguintes formatos:
- Octal (base 8)
- Hexadecimal (baseado em 16)
Quando você usa números octais e hexadecimais em operações aritméticas, o JavaScript os trata como números decimais.
Números octais
Um número literal octal começa com o dígito zero (0) seguido por uma sequência de dígitos octais (números de 0 a 7). Por exemplo:
let num = 071;
console.log(num);
Linguagem de código: JavaScript ( javascript )
Saída:
57
Se um número octal contiver um número que não esteja no intervalo de 0 a 7, o mecanismo JavaScript ignorará o 0 e tratará o número como um decimal. Por exemplo:
let num = 080;
console.log(num);
Linguagem de código: JavaScript ( javascript )
Saída:
80
Esse comportamento implícito pode causar problemas. Portanto, ES6 introduziu um novo literal octal que começa com 0o
seguido por uma sequência de dígitos octais (de 0 a 7). Por exemplo:
let num = 0o71;
console.log(num);
Linguagem de código: JavaScript ( javascript )
Saída:
57
Se você tiver um número inválido depois 0o
, o JavaScript emitirá um erro de sintaxe como este:
let num = 0o80;
console.log(num);
Linguagem de código: JavaScript ( javascript )
Saída:
let num = 0o80;
^^
SyntaxError: Invalid or unexpected token
Linguagem de código: JavaScript ( javascript )
Números hexadecimais
Os números hexadecimais começam com 0x ou 0X seguido por qualquer número de dígitos hexadecimais (0 a 9 e de a a f). Por exemplo:
let num = 0x1a;
console.log(num);
Linguagem de código: JavaScript ( javascript )
Saída:
26
Números de ponto flutuante
Para definir um número literal de ponto flutuante, inclua um ponto decimal e pelo menos um número depois dele. Por exemplo:
let price = 9.99;
let tax = 0.08;
let discount = .05; // valid but not recommeded
Linguagem de código: JavaScript ( javascript )
Quando você tem um número muito grande, pode usar a notação eletrônica. A notação E indica que um número deve ser multiplicado por 10 elevado a uma determinada potência. Por exemplo:
let amount = 3.14e7;
console.log(amount);
Linguagem de código: JavaScript ( javascript )
Saída:
31400000
A notação 3.14e7
significa pegar 3.14
e multiplicar por .107
Da mesma forma, você pode usar a notação E para representar um número muito pequeno. Por exemplo:
let amount = 5e-7;
console.log(amount);
Linguagem de código: JavaScript ( javascript )
Saída:
0.0000005
Linguagem de código: CSS ( css )
A notação 5e-7 significa pegar 5 e dividi-lo por 10.000.000.
Além disso, o JavaScript converte automaticamente qualquer número de ponto flutuante com pelo menos seis zeros após o ponto decimal em notação eletrônica. Por exemplo:
let amount = 0.0000005;
console.log(amount);
Linguagem de código: JavaScript ( javascript )
Saída:
5e-7
Os números de ponto flutuante têm precisão de até 17 casas decimais. Ao realizar operações aritméticas em números de ponto flutuante, geralmente você obtém o resultado aproximado. Por exemplo:
let amount = 0.2 + 0.1;
console.log(amount);
Linguagem de código: JavaScript ( javascript )
Saída:
0.30000000000000004
Linguagem de código: CSS ( css )
Grandes inteiros
JavaScript introduziu o bigint
tipo a partir do ES2022. O bigint
tipo armazena números inteiros cujos valores são maiores que 2 53 – 1.
Um literal inteiro grande tem o n
caractere no final de um literal inteiro como este:
let pageView = 9007199254740991n;
Linguagem de código: JavaScript ( javascript )
Resumo
- O tipo JavaScript Number representa números inteiros e de ponto flutuante.