私はJavascriptで変数のスコープを勉強していて、変数の宣言と変数の初期化の違いに出くわしました。私が知っている開発者と話すことから、変数宣言の前に書くvar
と変数がローカルスコープに割り当てられ、変数をvar
宣言する前に書くと変数がグローバルスコープに割り当てられるというのが私の理解です。これは本当ですか?
変数を宣言する前に var を書き込むと変数がローカル スコープに割り当てられる場合、var
後で変数を初期化してローカル スコープに保持するときに書き込む必要がありますか? 例えば:
var someVariable;
// Do some things with JavaScript
someVariable = 'Some Value'
someVariable
を使用してローカル スコープで宣言し、その後を使用せずvar
に初期化したため、JavaScript は、ローカル スコープで 1 つの変数を初期化しただけだと思いますか、それともローカル スコープで 1 つの変数を宣言してから、グローバルで別の変数を宣言して初期化したと思いますか?範囲?someVariable
var
後で再度値を変更したい場合someVariable
、変数式の前に var を記述する必要がありますか?それとも、すでに宣言されているローカル変数の値を変更していることを JavaScript が認識しますか? 技術的に言えば、すでに宣言されているローカル変数の値を変更しているとき、およびグローバル変数を宣言して初期化しているとき、JavaScript はどのようにしてそれを知るのでしょうか?