【JavaScript備忘録】変数を使う

スポンサーリンク
変数アイキャッチ プログラミング

こんにちは!セミマサです。この記事は変数の備忘録になります。

変数の宣言

JavaScriptの変数宣言はvar,let,constの3種類がある。これらをつけなくても変数宣言はでき、その場合グローバル変数として扱われる。

var:関数スコープ。

let:ブロックスコープ。

const:ブロックスコープ。再代入ができない。

グローバル変数とローカル変数

上記ソースにおいてglobaltestグローバル変数localローカル変数となっている。

・関数外で宣言した変数globalがvariable_testで参照できていたり、variable_test内で宣言した変数testがvariable_test2で参照できていることからグローバル変数はどこからでも参照可能なことがわかる。

・逆にローカル変数localは関数内でしか参照できないため、console.log(local);はエラーが発生する。

変数の巻き上げ

変数の宣言 (および一般的な宣言) はコードを実行する前に処理されますので、変数はコード内のどこで宣言しても、コードの先頭で宣言したものと等価になります。

var – JavaScript | MDN より引用

JavaScriptの変数には上記した巻き上げという仕様がある。

3行目のconsole.logは5を返すと思いがちだが、実際に返ってくるのはundefinedである。変数の巻き上げによってローカル変数global2の宣言のみが先頭にもっていかれることでこのような結果になる。

変数の型

・JavaScriptの変数にも型が存在し、typeofを使うことで厳密ではないものの型を取得できる。

変数のスコープ

関数スコープ

関数スコープであるvarは宣言された関数内であればどこからでも参照できる。

ブロックスコープ

letはブロックスコープなので、宣言されたブロック(ifとかforのくくり)内でのみ参照できる。

おわりに

変数に関しての備忘録でした。新しい発見があれば追記します。

タイトルとURLをコピーしました