Ir ao conteúdo

Javascript Em Javascript pode-se dizer que 5 !== '5' é igual em valor e diferente em tipo?


Ir à solução Resolvido por DiF,

Posts recomendados

Postado

Olá, estou com uma dúvida, gostaria de saber se 5 !== '5' é igual em valor,ou seja, os dois representam o número cinco,  mas é diferente em tipo, por isso, o resultado é true.

E se em 5 === '5' também é igual em valor, mas diferente em tipo.

  • Moderador
  • Solução
Postado

@Eli Almeida

 

Isso porque existe uma diferença fundamental entre os operadores == / != e === / !==

 

Comparação com conversão de tipo:

Quando você usa == ou !=, o JS tenta converter os tipos antes de comparar.

 

5 == '5'   // true
5 != '5'   // false

O que acontece ali é que:

'5' (string) é convertido para 5 (number)

A comparação vira: 5 == 5

Resultado: true

 

Por isso que podemos dizer que eles são iguais em valor, após conversão de tipo.

 

Já o operador   === e !== não fazem conversão de tipo.

Eles verificam duas coisas ao mesmo tempo:  Valor e Tipo.

 

5 === '5'   // false
5 !== '5'   // true

5 é do tipo number

'5' é do tipo string ( por causa da aspas)

 

Mesmo que ambos representem o número 5, eles não são o mesmo valor na memória, porque o tipo é diferente.

Em outras palavras,

Tipos diferentes a comparação estrita falha

Resultado: false para ===

Resultado: true para !==

 

Então, sobre a sua dúvida: " Em 5 === '5' também é igual em valor, mas diferente em tipo."

O ponto crucial é que para o JS, eles NÃO são iguais em valor quando o tipo é diferente, se você estiver usando " === "

 

O conceito de "igual em valor" só existe no " == " , porque ele força a conversão.

👍

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...