Questão de Programação — Linguagens de programação — FUNDATEC 2023
Programação›Linguagens 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 "===".
AAmbos os operadores comparam igualdade de valores e tipos de dados.
BO operador "==" compara apenas valores, enquanto o operador "===" compara valores e tipos de dados.
CO operador "===" compara apenas valores, enquanto o operador "==" compara valores e tipos de dados.
DO operador "==" é usado para comparações numéricas, enquanto o operador "===" é usado para comparações de strings.
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.