"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Explicação da pergunta da entrevista Javascript - Propriedades do objeto

Explicação da pergunta da entrevista Javascript - Propriedades do objeto

Publicado em 2024-11-03
Navegar:128

Javascript Interview Question Explanation- Object Properties

Olá leitor,

Vou explicar a questão da codificação da entrevista em javascript. Como funciona o compilador javascript e o que ele realmente produz como saída.
Vou detalhar cada parte da saída, explicar por que ela aparece dessa forma e conectá-la de volta às linhas específicas de código responsáveis

let a = {};
let b = { key: 'b' };
let c = { key: 'c' };

a[b] = 123;
a[c] = 456;

console.log(a[b])

Antes de nos aprofundarmos nos detalhes, reserve um momento para dar uma olhada neste trecho de código. Tente adivinhar qual será o resultado com base em seu entendimento atual. Essa abordagem não apenas ajuda a reforçar suas habilidades em JavaScript, mas também torna a explicação a seguir muito mais significativa
"Pense em como o JavaScript processará cada linha. Depois de adivinhar, continue lendo para ver se acertou!"

Explicação do código acima

  1. Para Linha 1
let a = {};

Acima do código, cria um objeto vazio e atribui à variável 'a'.

  1. Para Linha-2
let b = { key: 'b' };

Esta linha cria um objeto com uma única chave de propriedade e o valor 'b', e o atribui à variável 'b'.

  1. Para Linha-3
let c = { key: 'c' };

Esta linha cria um objeto com uma única chave de propriedade e o valor 'c', e o atribui à variável 'c'.

  1. Para Linha-4
a[b] = 123;

a[b] = 123 Esta linha define uma propriedade do objeto a usando o objeto b como chave. Em JavaScript, quando um objeto é usado como chave em outro objeto, o objeto é primeiro convertido em uma string usando o método toString(). Nesse caso, a representação de string do objeto b é "[objeto Objeto]" . Portanto, a propriedade "[objeto Object]" do objeto a é definida com o valor 123.

  1. Para Linha-5
a[c] = 456;

Semelhante à etapa anterior, "c" também é um objeto e convertido em string, torna-se ""[objeto Objeto]"".

Portanto, a linha a[c] = 456; é equivalente a "a[object Object]"=456, o que significa que o objeto tem "[object Object]" propriedade e seu valor é 456.

  1. Para Linha-6
console.log(a[b])

A saída é 456. quando você tenta acessar a propriedade "a[b]", o javascript converte novamente b em string, que é "[objeto Objeto]". Como o objeto possui uma propriedade com a chave "[objeto Objeto]" e seu valor é 456. Portanto, ele imprimirá a saída.


Conclusão

Em resumo, o código demonstra que quando um objeto é usado como chave em outro objeto, o objeto é primeiro convertido em uma representação de string, que é "[objeto Objeto]" por padrão. Isso significa que os objetos b e c são tratados como a mesma chave, e o último valor atribuído a essa chave é aquele que é recuperado.


Missão cumprida: desvendando o código!

Espero que esta explicação não apenas tenha esclarecido o código, mas também desperte alguma curiosidade para explorar mais. JavaScript é cheio de surpresas e ferramentas poderosas, e cada peça que você aprende deixa você mais perto de dominá-lo.
Obrigado pela leitura e espero que tenham gostado desta análise! Sinta-se à vontade para compartilhar seus pensamentos, perguntas ou ideias para tópicos futuros nos comentários.

Boa codificação!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/kawaljain/javascript-interview-question-explanation-object-properties-1hof?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3