次のコードを試しました:
var a = 5;
function x() {
console.log(a);
}
x();
期待どおりに実行され、5 が出力されます。
しかし、コードを変更して、グローバル変数 a が次のように上書きされるようにしました。
var a = 5;
function x() {
console.log(a);
var a = 1;
}
x();
undefined と表示されます。上書きは console.log(a) の直後に行う必要があるため、私には意味がありません。それで、問題は何ですか?