JavaScriptの勉強01【var・let・const】
勉強シリーズ。
基礎の基礎を知る。
勉強のために使用したサイト developer.mozilla.org
とりあえずvar
とlet
(あとconst
も)どれを使えばいいのかっていう話をどこかでも見かけたのでもう一度おさらい。
以下サイト様がわかりやすかったです techacademy.jp www.i-ryo.com
【勉強方法】 Chromeのデベロッパーツールでコンソールを開いて実行。
MEMO
コンソールのクリアはconsole.clear()
で実行。
まず結論
varはなるべく使わない。
再宣言も再代入もできてしまうため、バグの原因に。
また、スコープという変数の効かせられる範囲が大きすぎるため、意図しない挙動になることも。
主に使うのは
const
代入必要なら
let
を使用。
以下挙動の確認。
varで宣言
name
という変数はhoge
ですよ〜と宣言。- 再宣言。
name
という変数をhogehoge
に上書き。 できる。 - 再代入。
name
を再代入
に上書き。 できる。
var
はオールマイティどれでもできてしまうが故、意図せずに前に宣言した変数を、知らず知らずのうちに上書きしてしまい、思わぬ挙動になってしまうことがあるので推奨されていない。
次、let
。
letで宣言
name
という変数はMICCHE
ですよ〜と宣言。- 再代入。
MICCHE
をmicche
に変更しますよ〜と宣言。 できる。 - 再宣言。'micche'を'みっちぇ'に上書きするよ〜と宣言。 できないはずなんだけどできた。
これなんで?って思ったんだけど、イベントの中で変数宣言した場合、再宣言できないってことらしいから、イベント何もつけてない状態では上書きもなにもないから再宣言できるってこと?
多分。
ちなみにletで使った変数をvarで宣言し直せるかと思い試すと
アカンと言われた。
逆も然り。
constで宣言
name
という変数はみっちぇ
ですよ〜と宣言。- 再宣言。
name
という変数をMicche
に上書きしますよ〜〜と宣言。 これはできない。 - 再代入。
name
という変数をmicche
に上書きしますよ〜〜と宣言。 これもアカンと言われた。
const
は一番誓約が厳しいイメージ。
再宣言・再代入ができないため、上書きしてしまって予期せぬ不具合を生む心配がないので安心して使用ができる。
まとめ
とりあえずvar、let、constはそれぞれ
変数名 | 再代入 | 再宣言 |
---|---|---|
var | できる | できる |
let | できる | できない |
const | できない | できない |
とわかった。