DEV Community

loading...

Operadores Lógicos/Matemáticos

telles profile image Telles (@UnicornCoder) ・7 min read

Veja no Youtube:

VIDEO

VIDEO

Objetivos

  1. Aprender o que são operadores lógicos e como funcionam
  2. Aprender o que são operadores matemáticos e como funcionam
  3. Ver um pouco deles com trechos de código clicando no 👁

Bora lá...

Operadores Lógicos

Operadores Lógicos

Operadores Matemáticos

Operadores Matemáticos

Como são usados?

>

Ex.: a > b
Nome: Maior que
Resultado: Verdadeiro se a for maior que b

Comumente usado para números, então vamos para exemplos numéricos, para tipo string vamos usado o .length para pegarmos a quantidade de caracteres que temos

Usando if statement com números

const a = 10
const b = 22

if( a > b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a > b) // Output: false
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a.length > b.length){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log( a.length > b.length) // Output: false
Enter fullscreen mode Exit fullscreen mode

O resultado é false, porque a não é maior que b e sim igual a ele

Usando if statement com textos e números

const a = 8
const b = "10"

if( a > b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a > b) // Output: false
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é false, aqui temos uma pegadinha do JavaScript em que usando um número dentro de uma string (ou no formato de uma) para um calculo matemático ou verificação de maior ou menor ele ignora o fato de que é uma string e aceita que é um número pois não há validação de tipagem com exceção do operador de soma que faz interpolação de dados

<

Ex.: a < b
Nome: Menor que
Resultado: Verdadeiro se a for menor que b

Comumente usado para números, então vamos para exemplos numéricos, para tipo string vamos usado o .length para pegarmos a quantidade de caracteres que temos

Usando if statement com números

const a = 10
const b = 22

if( a < b){
// Entrou aqui no Verdadeiro
}

console.log(a < b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a.length < b.length){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log( a.length < b.length) // Output: false
Enter fullscreen mode Exit fullscreen mode

O resultado é false, porque a não é menor que b e sim igual a ele

Usando if statement com textos e números

const a = 8
const b = "10"

if( a < b){
// Verdadeiro
}

console.log(a < b) // Output: true
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é true, aqui temos uma pegadinha do JavaScript em que usando um número dentro de uma string (ou no formato de uma) para um calculo matemático ou verificação de maior ou menor ele ignora o fato de que é uma string e aceita que é um número pois não há validação de tipagem com exceção do operador de soma que faz interpolação de dados

===

Ex.: a === b
Nome: Idêntico
Resultado: Verdadeiro se a for idêntico a b

Usando if statement com números

const a = 22
const b = 22

if( a === b){
// Entrou aqui no Verdadeiro
}

console.log(a === b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a === b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a === b) // Output: false
Enter fullscreen mode Exit fullscreen mode

O resultado é false pois ele como eu havia dito ele é case-sensitive, ou seja, maiúsculas e minúsculas fazem a diferença.

Usando if statement com textos e números

const a = 10
const b = "10"

if( a === b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a === b) // Output: false
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é false pois ele compara somente o valor atribuído e não a tipagem dos dados, sendo assim o 10 string é igual ao 10 number

==

Ex.: a == b
Nome: Igual
Resultado: Verdadeiro se a for igual a b

Usando if statement com números

const a = 22
const b = 22

if( a == b){
// Entrou aqui no Verdadeiro
}

console.log(a == b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a == b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a == b) // Output: false
Enter fullscreen mode Exit fullscreen mode

O resultado é falso pois ele como eu havia dito ele é case-sensitive, ou seja, maiúsculas e minúsculas fazem a diferença.

Usando if statement com textos e números

const a = 10
const b = "10"

if( a == b){
// Verdadeiro
}

console.log(a == b) // Output: true
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é true pois ele compara somente o valor atribuído e não a tipagem dos dados

<=

Ex.: a <= b
Nome: Menor ou igual
Resultado: Verdadeiro se a for menor ou igual a b

Comumente usado para números, então vamos para exemplos numéricos, para tipo string vamos usado o .length para pegarmos a quantidade de caracteres que temos

Usando if statement com números

const a = 10
const b = 22

if( a <= b){
// Entrou aqui no Verdadeiro
}

console.log(a <= b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a.length <= b.length){
// Entrou aqui no Verdadeiro
} else {
// Falso
}

console.log( a.length <= b.length) // Output: true
Enter fullscreen mode Exit fullscreen mode

O resultado é true, porque a não é menor que b e sim igual a ele.

Usando if statement com textos e números

const a = 8
const b = "10"

if( a <= b){
// Verdadeiro
}

console.log(a <= b) // Output: true
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é true, aqui temos uma pegadinha do JavaScript em que usando um número dentro de uma string (ou no formato de uma) para um calculo matemático ou verificação de maior ou menor ele ignora o fato de que é uma string e aceita que é um número pois não há validação de tipagem com exceção do operador de soma que faz interpolação de dados

>=

Ex.: a >= b
Nome: Maior ou igual
Resultado: Verdadeiro se a for maior ou igual a b

Comumente usado para números, então vamos para exemplos numéricos, para tipo string vamos usado o .length para pegarmos a quantidade de caracteres que temos

Usando if statement com números

const a = 10
const b = 22

if( a >= b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a >= b) // Output: false
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a.length >= b.length){
// Entrou aqui no Verdadeiro
} else {
// Falso
}

console.log( a.length >= b.length) // Output: true
Enter fullscreen mode Exit fullscreen mode

O resultado é true, porque a não é menor que b e sim igual a ele.

Usando if statement com textos e números

const a = 8
const b = "10"

if( a >= b){
// Verdadeiro
}

console.log(a >= b) // Output: false
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é true, aqui temos uma pegadinha do JavaScript em que usando um número dentro de uma string (ou no formato de uma) para um calculo matemático ou verificação de maior ou menor ele ignora o fato de que é uma string e aceita que é um número pois não há validação de tipagem com exceção do operador de soma que faz interpolação de dados

&&

Ex.: a && b
Nome: E
Resultado: Verdadeiro se existir a e b

Usando if statement com números

const a = 10
const b = 22

if( a && b){
// Entrou aqui no Verdadeiro
}

console.log(a <= b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = ""

if( a && b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log( a && b) // Output: false
Enter fullscreen mode Exit fullscreen mode

O resultado é false, porque existe a e b é vazio .

Usando if statement com textos e boolean

const a = 8
const b = false

if( a && b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a && b) // Output: false
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é false, porque a segunda condição é false por default e precisamos de dois true para ser true

||

Ex.: a || b
Nome: Ou
Resultado: Verdadeiro se existir a ou existir b

Usando if statement com números

const a = 10
const b = 22

if( a || b){
// Entrou aqui no Verdadeiro
}

console.log(a || b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = ""

if( a || b){
// Entrou aqui no Verdadeiro
} else {
// Falso
}

console.log( a || b) // Output: true
Enter fullscreen mode Exit fullscreen mode

O resultado é true, porque existe a e b é vazio, mas com o ou como operador precisamos somente de um deles para ser true.

Usando if statement com textos e boolean

const a = 8
const b = false

if( a || b){
// Entrou aqui no Verdadeiro
} else {
// Falso
}

console.log(a || b) // Output: true
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo segue a mesma lógica do de cima.

!==

Ex.: a !== b
Nome: Não Idêntico
Resultado: Verdadeiro se a não for igual a b ou eles não tiverem o mesmo tipo

Usando if statement com números

const a = 10
const b = 22

if( a !== b){
// Entrou aqui no Verdadeiro
}

console.log(a !== b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a !== b){
// Entrou aqui no Verdadeiro
} else {
// Falso
}

console.log(a !== b) // Output: true
Enter fullscreen mode Exit fullscreen mode

O resultado é true pois ele como eu havia dito ele é case-sensitive, ou seja, maiúsculas e minúsculas fazem a diferença.

Usando if statement com textos e números

const a = 10
const b = "10"

if( a != b){
// Verdadeiro
}

console.log(a !== b) // Output: true
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é true pois ele compara somente o valor atribuído e não a tipagem dos dados, sendo assim o 10 string não é igual ao 10 number

!=

Ex.: a != b
Nome: Diferente
Resultado: Verdadeiro se a não for igual a b

Usando if statement com números

const a = 10
const b = 22

if( a != b){
// Entrou aqui no Verdadeiro
}

console.log(a != b) // Output: true
Enter fullscreen mode Exit fullscreen mode

Usando if statement com textos

const a = "Telles"
const b = "telles"

if( a != b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a != b) // Output: false
Enter fullscreen mode Exit fullscreen mode

O resultado é false pois ele como eu havia dito ele é case-sensitive, ou seja, maiúsculas e minúsculas fazem a diferença.

Usando if statement com textos e números

const a = 10
const b = "10"

if( a != b){
// Verdadeiro
}

console.log(a != b) // Output: true
Enter fullscreen mode Exit fullscreen mode

A saída desse exemplo é false pois ele compara somente o valor atribuído e não a tipagem dos dados, sendo assim o 10 string é igual ao 10 number

!

Ex.: !a
Nome: Negação
Resultado: Negação, se o valor for verdadeiro vai transformar em falso e vice versa

Negação, se o valor for verdadeiro vai transformar em falso e vice versa

Usando if statement com boolean

const a = true

if(!a){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(!a) // Output: false
Enter fullscreen mode Exit fullscreen mode
const a = false

if(!a){
// Entrou aqui no Verdadeiro
} else {
// Falso
}

console.log(!a) // Output: true
Enter fullscreen mode Exit fullscreen mode

Discussion (1)

pic
Editor guide
Collapse
marciaibanez profile image
Marcia Ibañez • Edited

Olá, tudo bem? Fiquei com uma dúvida, estou iniciando no js e vi que usou dois exemplos de !=, um com strings e outro com número e string. No primeiro, vc disse que é false e no segundo, true. Minha dúvida é se é isso mesmo ou se seria o contrário. Vou colar os exemplos que citei aqui:

const a = "Telles"
const b = "telles"

if( a != b){
// Verdadeiro
} else {
// Entrou aqui no Falso
}

console.log(a != b) // Output: false

Nesse caso, entendi que deveria ser true, pois A é diferente de B, pela questão de ser case sensitive (Por favor, me corrija se eu estiver viajando hahaha).

Segundo exemplo:
const a = 10
const b = "10"

if( a != b){
// Verdadeiro
}

console.log(a != b) // Output: true

E aqui, entendi que deveria ser false, pois A não é diferente de B, entendi que só seria considerado diferente com o !==, que diferenciaria o número da string (Novamente, se eu tiver falando tudo errado me corrija haha).