Considere o seguinte trecho de código JavaScript, utilizado...
Considere o seguinte trecho de código JavaScript, utilizado para serializar um objeto para JSON:
const obj = {
a: undefined,
b: null,
c: () = > {}
};
console.log(JSON.stringify(obj));
Sabendo que JSON.stringify é usado para converter objetos em strings JSON válidas e que segue regras específicas quanto ao tratamento de tipos de dados não suportados, assinale a alternativa que exibe corretamente a saída do código acima no console:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C – { "b": null }
Tema central da questão:
A questão aborda a serialização de objetos JavaScript em JSON usando o método JSON.stringify(). Esse conteúdo é muito cobrado em provas, pois envolve o entendimento de como certos tipos de dados são tratados no processo de conversão para o formato JSON.
Resumo teórico:
JSON.stringify() converte objetos JavaScript em strings JSON. Segundo a documentação oficial do JavaScript (MDN):
- Propriedades com valor undefined ou funções são omitidas do resultado.
- Propriedades com valor null são mantidas no JSON.
Exemplo prático:
const obj = { a: undefined, b: null, c: () => {} };
console.log(JSON.stringify(obj)); // {"b":null}
Justificativa da alternativa correta:
Na serialização, a (undefined) e c (função) não aparecem na saída. Apenas b:null é mantido, pois null é válido em JSON.
Portanto, C – { "b": null } é a resposta certa.
Análise das alternativas incorretas:
- A - null: Incorreta porque o objeto não é nulo; apenas uma propriedade tem valor null.
- B - {}: Errado pois a propriedade b com valor null deveria aparecer.
- D - { "b": null, "c": "() => {}" }: Falso; funções não são convertidas para string, são omitidas.
- E - { "a": undefined, "b": null }: Equivocado; a é omitido, pois undefined não é suportado em JSON.
Dicas para a prova:
Fique atento a pegadinhas envolvendo undefined, funções e null: só null será serializado. Ao ler alternativas, descarte rapidamente as que mostram propriedades com undefined ou funções convertidas em texto.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O valor undefined não é um valor JSON válido; o formato JSON só permite valores como strings, números, booleanos (true/false), null, objetos e arrays. Quando você tenta converter um objeto JavaScript com um valor undefined para JSON, esse valor é geralmente omitido.
Gabarito: C
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo