LoginSignup
1
0

More than 1 year has passed since last update.

var非推奨の理由について

Last updated at Posted at 2022-09-17

はじめに

jsの宣言方法でES5以前まではvarが使われてたようだが、ES6になりlet, constができてから、varは非推奨となった。
varが非推奨となった理由をざっくりまとめる。

var とは何か

変数宣言の方法の一つ。
jsでの変数宣言は3種類が存在する。

  • var
  • let
  • const

宣言方法による違い

var let const
再定義 不可 不可
再代入
スコープ グローバルスコープ スクリプトスコープ
ローカルスコープ
スクリプトスコープ
ローカルスコープ
宣言の巻上げ 初期化される 初期化されない 初期化されない

var非推奨の理由

  • スコープが常にグローバルスコープとなるため
    • レキシカルスコープを利用した書き方ができない
    • どこからでも同じ変数を再定義、再代入されてしまうことで、バグを生み出しやすい
  • 宣言の巻上げ時にundefinedで初期化されてしまうため
    • どこからでも同じ変数名で再定義が可能なことで、ソース内の複数個所で初期化が行われた際に、値がundefinedになりバグを生み出しやすい

所感

基本的にグローバルで変数を持ち続けるかつ、定義、再定義が自由だとバグを生み出しやすいんだなあと思った。言語によって制限されてることで皆が使いやすくなっている。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0