Parte I.II Operadores
Tags: javascript, beginners
Published: 2021-08-07 21:34:29

## Operadores

<hr>

### Operadores Aritméticos 
São os operadores que já conhecemos:

- [+] adição - adiciona números
```javascript
let a = 10;
let b = 3;
let soma = a + b; //13
```
- [-] subtração - subtrai números
```javascript
let a = 10;
let b = 3;
let subtrai = a - b; //7
```
- [*] multiplicação - multiplica números
```javascript
let a = 10;
let b = 3;
let multiplica = a * b; //30
```
- [/] divisão - divide números
```javascript
let a = 10;
let b = 5;
let divide = a / b; //2
```
- [%] modulo - devolve o resto da divisão. 
```javascript
let a = 10;
let b = 4;
let resto = a % b; //2
```
- [++] incremento - incrementa números. 
```javascript
let a = 10;
a++;
let b = a; //11
```
- [--] decremento - diminui números. 
```javascript
let a = 10;
a--;
let b = a; //9
```
- [**] exponenciação - calcula a base elevada a potência do expoente
```javascript
let a = 2;
let b = 3;
let resultado = 2 ** 3; //8
```
### Operadores de Comparação
Faz uma comparação entre valores e/ tipos e retorna true ou false.
É como se vocês estivesse perguntando:
```javascript
isso é `operador de comparação` a aquilo?
- Sim (true)
ou
- Não (false}
```

- [>] maior ou [<] menor
```javascript
let a = 10;
let b = 5;

let conferir = a > b; // true
let conferirNovamente = a < b; //false
```
- [>=] maior ou igual ou [<=] menor ou igual
```javascript
let a = 10;
let b = 5;
let c = "10"

let conferir = a >= b; // true
let conferirNovamente = a <= b; //false
let resultado = a >= c; //true
let porqueEIgual = a <= c; //true
```
- [==] igualdade - compara se os `valores` são iguais(true)
```javascript
let a = 10;
let b = 5;
let c = "10";

let conferir = a == b; //false
let conferirNovamente = a == c; //true
```
- [!=] compara se os `valores` são diferentes
```javascript
let a = 10;
let b = 5;
let c = "10";

let conferir = a != b; //true
let conferirNovamente = a != c; //false
```
- [===] igualdade - compara se os `valores` e os `tipos` são iguais
```javascript
let a = 10; //tipo number e valor 10
let b = 5; //tipo number e valor 5
let c = "10" //tipo string e valor 10
let d = 5; //tipo number e valor 5

let conferir = a === b; //false
//a e b são do tipo number, mas valores diferentes
let conferirNovamente = a === c; //false
// a e c são tipos diferentes, mas com o mesmo valores
let resultado = b === d; //true
// b e c são do mesmo tipo e tem o mesmo valor
```
- [!==] diferente - compara se os `valores` ou os `tipos` são diferentes
```javascript
let a = 10; //tipo number e valor 10
let b = 5; //tipo number e valor 5
let c = "10" //tipo string e valor 10
let d = 5; //tipo number e valor 5

let conferir = a !== b; //true
//a e b são do tipo number, mas valores diferentes
let conferirNovamente = a !== c; //true
// a e c são tipos diferentes, mas com o mesmo valores
let resultado = b !== d; //false
// b e c são do mesmo tipo e tem o mesmo valor
```

### Exercício

- Como vimos podemos fazer várias comparações.
O que você acha que acontecerá se comparamos o menor ou o maior utilizando `string`?

```javascript
"teste" > "javascript";
"abc" < "def";
```

Se você não entendeu o que aconteceu, veja essa explicação 
[Explicação](https://replit.com/@elasUnidas/IniciandoJs-ParteIII#script.js)