JS-0203 - JavaScript Completo ES6 - Números e Operadores
Matemática básica no JS
O tipos de dados Number são nossos conhecidos números, podendo ser inteiro, flutuante (ponto para decimal) e exponencial. Ex:
var idade = 35;
var preco = 1.99;
var temperatura = -15;
var exp = 9e10; // 90000000000;
A precisão deste tipo de dado é para até 15 digitos. Depois de 15 dígitos os números sofrem arredondamento.
Os operadores aritiméticos em JS sãp ps seguintes:
- + para soma. Ex: var soma = 2 + 3 // 5. Operador soma de number com string resulta em concatenação;
- - para subtração. Ex: var subtracao = 2 - 3 // -1;
- * para subtração. Ex: var multiplicacao = 2 * 3 // 6;
- / para divisão. Ex: var divisao = 2 / 3 // 0.66666666666.
- ** para expoente. Ex: var expoente = 2 ** 3 // 8; e
- % para módulo. Ex: var modulo = 2 % 3 // 2 (resto inteiro da divisão entre os números).
Excetuando o operador soma, caso uma string seja utilizada com um operador aritmético e um dado tipo number , se essa string for um número, a operação será realizada, caso contrário, será retornado o valor NaN (Not a Number). Ex:
var soma = '2' + 3; // 23;
var subtracao = '2' - 3; // -1;
var multiplicacao = '2' * '3'; // 6; e
var divisao = 'Tenho 2' / 3; // NaN (Not a Number).
É possível verificar se um dado é do tipo number com a função isNaN() retornando true para NaN e false para resultado numérico.
Como na matemática básica, a ordem entre os operadores e a precedência destes se mantém. Operações entre parênteses, multiplicações e divisões são executadas primeiro, da esquerda para direita.
Os operadores unários, assim como em outras linguagens, funcionam normalmente no JavaScript (pré incremento, pós incremento, pré decremento e pós decremento). Lembrando que nos "pré", o valor da variável é alterado antes do retorno, e no pós, a o valor da variável retorna e depois sofre o decremento ou incremento.
É possível transformar uma string ou um valor booleano em number, utilizando os peradores + ou - antes da string desde que seja possível, caso contrário, o retorno será NaN. Ex:
var nome = "Rodrigo";
+nome; // NaN
-nome; // NaN
var idade = '35';
+idade; // 35 (número)
-idade; // -35 (número negativo)
var estudando = true;
console.log(+estudando); // 1
Clique aqui para visualizar um guia completo de operadores.
Poderemos utilizar operadores de atribuição para simplificar o código quando uma variável for igual a uma operação matemática contendo ela mesmo. Ex:
var x = 5;
var y = 10;
x += y; // x = x + y (15)
x -= y; // x = x - y (-5)
x *= y; // x = x * y (50)
x /= y; // x = x / y (0.5)
x %= y; // x = x % y (0)
x **= y; // x = x ** y (9765625)