Q&A
質問
JavaScriptのスコープがよく分からないのですが、以下result
はなぜ+1
がされないのでしょうか?
JavaScript
1let result = 0; 2function hoge(){ 3 result + 1; 4} 5hoge(); 6console.log(result); // なぜ +1 がされず 0 のままなのか?
私の理解はこうなのですが、どこが誤っているのでしょうか?
① まずhoge()
内のresult
は、const
やlet
がない
② だからhoge()
外のresult
を、引き継いで処理してくれる
③ よってhoge()
後のresult
は、hoge()
内の処理結果が反映されているハズ
試したこと
ちなみに以下を試したら1
になりました。
ということは、上記②は少なくとも正しく、hoge()
外のresult
を引き継いでいるということですよね?(引き継いでいなければ、以下のresult + 1
はすなわちundefined + 1
なのでエラーになるはず)
JavaScript
1let result = 0; 2function hoge(){ 3 return result + 1; 4} 5console.log(hoge());
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/03/19 16:06