0
0

More than 3 years have passed since last update.

グローバル変数はできるだけ使用しないようにしよう

Posted at

「 リーダブルコード」を読んでいてこれまで意識いなかったグローバル変数についての記述があったので備忘録として残しておきます。

//ダメな例
submitted = false // グローバル変数

var submit_form = function (form_name) {
 if (submitted) {
    return; // 
}
...

submitted = true

// 良い例
var submit_form = function ((form_name) {

 var submitted = false // ローカル変数にして、以下の関数からしかアクセスされないようにする

 if (submitted) {
    return; // 
 };

}());
// 最終行の()は外側の上関数がすぐに実行されて内側の関数を返している。 
// この技法は、内側の感性だけがアクセスできる「プライベート」スコープを作る効果があり、
// 読み手は「submitted変数はいつ使われるの?」と気になったり、
// 同じ名前のグローバル変数と衝突しないかと不安になったりすることがないらしい。
0
0
2

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
0
0