Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FUNDATEC 2023

ProgramaçãoLinguagens de programação
Código
qq897152
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Desenvolvimento Front-End
Tendo em vista a Linguagem de Programação Javascript, assinale a alternativa que descreve corretamente a diferença entre o uso de "==" e "===".
  1. AAmbos os operadores comparam igualdade de valores e tipos de dados.
  2. BO operador "==" compara apenas valores, enquanto o operador "===" compara valores e tipos de dados.
  3. CO operador "===" compara apenas valores, enquanto o operador "==" compara valores e tipos de dados.
  4. DO operador "==" é usado para comparações numéricas, enquanto o operador "===" é usado para comparações de strings.
  5. ENão há diferença entre os dois operadores em Javascript.
Revelar gabarito e comentário

GabaritoB — O operador "==" compara apenas valores, enquanto o operador "===" compara valores e tipos de dados.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Operadores de comparação em JavaScript: == vs. ===

Gabarito: letra B. Em JavaScript, == (igualdade abstrata) compara dois valores após realizar coerção de tipo, ou seja, converte os operandos para um tipo comum antes da comparação. Já === (igualdade estrita) compara valores e tipos de dados, sem qualquer conversão. Se os tipos forem diferentes, retorna false imediatamente. Essa é a regra fundamental que diferencia os dois operadores.

Critério

== (Igualdade Abstrata)

=== (Igualdade Estrita)

Comparação de valores

Sim

Sim

Comparação de tipos de dados

Não (realiza coerção de tipo)

Sim (sem coerção)

Comportamento com tipos diferentes

Converte para tipo comum antes de comparar

Retorna false imediatamente

Exemplo: '5' == 5

true (coerção)

false (tipos diferentes)

Uso recomendado

Apenas quando coerção é desejada

Sempre, para evitar comportamentos inesperados

Alternativa A — ❌ Incorreta

Afirma que ambos comparam valores e tipos. Incorreto: == não compara tipos sem coerção; ele converte os tipos automaticamente antes de comparar. O operador === é que realiza a comparação sem coerção, verificando também o tipo.

Alternativa B — ✅ Correta ⟵ GABARITO

Descreve exatamente a diferença: == compara apenas os valores (com coerção de tipo), enquanto === compara valores e tipos de dados (sem coerção). Exemplo: '5' == 5 retorna true (coerção de string para número), mas '5' === 5 retorna false (tipos diferentes).

Alternativa C — ❌ Incorreta

Inverte a função dos operadores: diz que === compara apenas valores e == compara valores e tipos. O correto é o oposto, conforme explicado.

Alternativa D — ❌ Incorreta

Afirma que == é usado para números e === para strings. Não há essa restrição; ambos podem ser usados com qualquer tipo de dado. A diferença está na coerção, não no tipo de dado alvo.

Alternativa E — ❌ Incorreta

Diz que não há diferença entre os operadores. Isso é falso: a presença ou ausência de coerção de tipo é uma diferença crucial no comportamento.

PEGA ESSA DICA!

Na prática, recomenda-se usar sempre === (strict equality) para evitar comportamentos inesperados causados pela coerção automática de tipos. O == só deve ser usado quando você explicitamente deseja a coerção e conhece seus efeitos. Lembre-se: === é mais seguro e previsível.

Gabarito: letra B

Link permanente: /questoes/qq897152