グローバル変数に対してJavaScriptの巻き上げがどのように機能するのか疑問に思っていました。
次のコード スニペットがあるとします。
var a = 5;
function print(){
console.warn("a",a,b);
var a = 10;
b=5;
console.warn("a",a);
}
print();
この場合、「b is not defined」というエラーが表示されます。なぜJavascriptの巻き上げがグローバル変数に対して機能しないのだろうか。これを探してみましたが、可変巻き上げの結果しか得られませんでした。何かご意見は??