Operadores Aritméticos
Os operadores numéricos padrões são suportados, incluindo adição, subtração, módulo (ou resto) aritmético e assim por diante.
Adição (+)
A operação de adição envolve dois operandos e resulta na diferença entre o primeiro e o segundo operando identificados. Ex:
// Number + Number -> Adição
1 + 2 // 3
// Boolean + Number -> Adição
true + 1 // 2
// Boolean + Boolean -> Adição
false + false // 0
// Number + String -> Concatenação
5 + "texto" // "5texto"
// String + Boolean -> Concatenação
"texto" + false // "textofalse"
// String + String -> Concatenação
"texto" + " qualquer" // "texto qualquer"
Subtração (-)
A operação de subtração envolve dois operandos e resulta na diferença entre o primeiro e o segundo operando identificados. Ex:
5 - 3 // 2
3 - 5 // -2
"texto" - 3 // NaN (Not a Number: não é um número)
Divisão (/)
O operador de divisão produz o quociente de seus operandos, onde o operando da esquerda é o dividendo e o da direita é o divisor. Ex:
1 / 2 // retorna 0.5 em JavaScript
1 / 2 // retorna 0 em Java
// (nenhum dos números é explicitamente um número de ponto flutuante)
1.0 / 2.0 // retorna 0.5 em JavaScript e Java
2.0 / 0 // retorna Infinity em JavaScript
2.0 / 0.0 // retorna Infinity também
2.0 / -0.0 // retorna -Infinity em JavaScript
Multiplicação (*)
O operador de multiplicação produz o produto dos operandos. Ex:
2 * 2 // 4
-2 * 2 // -4
Infinity * 0 // NaN
Infinity * Infinity // Infinity
"texto" * 2 // NaN
Módulo (%)
A função módulo é capaz de retornar o resto inteiro da divisão entre dois operandos. Ex:
12 % 5 // 2
-1 % 2 // -1
NaN % 2 // NaN
Operações matemáticas avançadas
Há também um objeto embutido na linguagem, chamado Math, capaz de manipular funções e constantes matemáticas mais avançadas. Ex:
Math.PI // retorna o valor de PI
Math.sin(3.5); // seno de 3.5
Math.cos(3.5); // cosseno de 3.5
Math.random(); // retorna um valor randômico
Math.sqrt(25) // retorna o valor referente à raiz quadrada de 25
Conversões e coerções(parseInt, parseFloat, +)
Em diversas situações de entrada de dados, precisamos converter dados textuais para formatos numéricos. A seguir, alguns exemplos são listados:
parseInt('10') // tranforma o texto '10' no valor inteiro 10
parseFloat('10') // tranforma o texto '10' no valor decimal (com ponto flutuante) 10
Você também pode usar o operador unário + para converter valores em números. Essa também é conhecida como sendo uma operação de coerção de valores: Ex:
+'3.1415' // 3.1415 como valor numérico flutuante