以下のスニペットで何が起こっているのか分かりません。JavaScriptの一時的なデッドゾーン
一時的なデッドゾーンのためにエラーが発生すると思われますが、const baz = '123123';
が吊り上げられたようです。
なぜすべてが機能するのですか?
class Foo {
constructor() {
console.log('Foo baz is:', baz)
}
}
function log() {
console.log('log baz is:', baz);
}
const baz = '123123';
log();
new Foo();
*一時的な*デッドゾーンではなく、構文的なデッドゾーンではないので、初期化した後に(関数呼び出しで)変数にアクセスするだけで問題ありません。関数を先に呼び出すと、そのスコープ内の同じ「吊り上げられた」変数にアクセスしていましたが、例外がスローされました。 – Bergi