closures - uninitialized vs undefined
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 55/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- javascript
- Domínio
- documentation
Direção de pesquisa
Comece pelas seções sobre ambiente léxico e funções aninhadas do artigo sobre closures e, em seguida, compare os rótulos em lexenv-nested-makecounter-2.svg e lexenv-nested-makecounter-3.svg. Verifique se os diagramas devem distinguir de undefined e atualize esses SVGs somente se o comportamento do JavaScript der suporte à correção proposta.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
in this article, we are discussing lexical environments, and the scope of variables.
upon initialization, variables are defined as <unitialized> because "the engine knows about the variable, but it cannot be referenced until it has been declared with let"
later in the article, when referencing nested lexical environments in functions, a variable is initialized as undefined. from my understanding, this is incorrect, as the engine knows about the variable, but is not referenced yet since it hasn't been declared.
i believe that we need to change the following SVG's to reflect this change:
https://github.com/javascript-tutorial/en.javascript.info/blob/master/1-js/06-advanced-functions/03-closure/lexenv-nested-makecounter-2.svg
https://github.com/javascript-tutorial/en.javascript.info/blob/master/1-js/06-advanced-functions/03-closure/lexenv-nested-makecounter-3.svg
if this is an incorrect assumption, please help me understand why it's undefined instead of uninitialized! i'd love to learn more about how this all works.
- Linguagem predominante
- HTML
- Estrelas
- 25.5k
- Forks
- 4k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de javascript-tutorial/en.javascript.info
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
-
Keyboard events: keydown filtering example can't block IME-composed input (Korean/Japanese/Chinese) Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
javascript-tutorial/en.javascript.info#3978 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Todas as issues de javascript-tutorial/en.javascript.info
Issues semelhantes
-
triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
feature pydanty:is-working
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
pydantic/pydantic-ai#8647 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
:watch: Not Triaged dotnet-fsharp/svc
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100