タグ付けされた質問 「hoisting」

5
ES6では、変数がletまたはconstで宣言されていませんか?
OverаэтотвопросестьответынаStack Overflowнарусском:Всплываютлиперемененее、объявленныеспомоststвletиcon ES6をしばらく使用していて、で宣言された変数がvar期待どおりに巻き上げられていることに気付きました... console.log(typeof name); // undefined var name = "John"; ...で宣言された変数、letまたはconst巻き上げに問題があると思われる変数: console.log(typeof name); // ReferenceError let name = "John"; そして console.log(typeof name); // ReferenceError const name = "John"; これは、宣言された変数letまたはconstホイストされていない変数を意味しますか?ここで本当に何が起こっているのですか?間に何らかの差があるletと、constこの問題では?


18
JavaScript関数のスコープとホイスト
Ben CherryによるJavaScript Scoping and Hoistingに関するすばらしい記事を読んだところ、彼は次の例を示しています。 var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); 上記のコードを使用すると、ブラウザは「1」を警告します。 それが「1」を返す理由はまだわかりません。彼が言うことのいくつかは次のように思い浮かびます:すべての関数宣言は上に持ち上げられます。関数を使用して変数のスコープを設定できます。まだクリックしません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.