変数宣言 varキーワード
再宣言と再代入可能
var a = 1;
a = 2; //再代入可能
var a =3; //再宣言可能
なんでもOK!後で書き換えられる。
なんでもOKだからこそ、後で書き換えてしまってわけがわからなくなる。バグを生みやすい。
そのため、使いたくない。
変数の参照の巻き上げ可能
a = 100;
console.log(a);
var a;
結果:
100
と出力される。
変数sの宣言前の値を参照できる。
これもバグを生みやすい。
そのため、使いたくない。
変数のスコープ単位が関数単位
var a = 0;
if(true){
var a = 1;
var b = 2;
console.log(a);
}
console.log(a);
console.log(b);
結果:
1
1
2
と出力される。
その理由は、
varのスコープは、関数単位(〇〇.js単位)だからである。
これもスコープの範囲が大きいため、バグを生みやすい。
そのため、使いたくない。
まとめ
varキーワードのメリット
・ほぼなんでもあり
varキーワードのデメリット
・再宣言と再代入可能
・変数の参照の巻き上げ可能
・変数のスコープ単位が関数単位
が主にバグを生みやすい。
ほぼなんでもありのため、後から書き換え可能で、複数人でコードを書いているとなおバグを生みやすい。
一切varを使わないでコードを書く。
0 件のコメント:
コメントを投稿