closures - uninitialized vs undefined

オープン
#3,895 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
55/100
issue の種類
ドキュメント
明瞭さ
おおむね明確
活発さ
静か
技術スタック
javascript
領域
documentation

調査の方向性

クロージャの記事の字句的環境とネストされた関数のセクションから始め、その後 lexenv-nested-makecounter-2.svg と lexenv-nested-makecounter-3.svg のラベルを比較してください。図で と undefined を区別すべきかを検証し、JavaScript の動作が提案された修正を裏付ける場合にのみ、これらの SVG を更新してください。

索引モデルが issue の本文から書いたものです。

説明

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"

Image Image

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.

Image Image

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.

主要言語
HTML
スター
25.5k
フォーク
4k
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

javascript-tutorial/en.javascript.info のほかの issue

javascript-tutorial/en.javascript.info の issue をすべて見る

似ている issue

Documentation の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。