sai_dive IL

学んだことのアウトプットブログ

【JavaScript】クロージャー

クロージャーとは?

  • レキシカルスコープの変数(外部変数)を関数が使用している状態

クロージャー プライベート変数

  • 初期化専用関数でプライベート変数を準備して関数を返すことで初期化が他のところからおきなくすることができる
function 初期化専用関数名() {
   let プライベート変数名 = 値;

   function 実行関数名() {
      return 実行する内容;
   }

 return 実行関数名;

}

const 変数名 = 初期化専用関数名() ;

実行関数名();

クロージャー 動的関数生成

  • 引数を渡すことで動的な外部変数を渡す関数ができる
function 関数名(引数1) {
   function 実行関数名(引数2) {
     return 引数1と引数2を使った処理;
   }

   return 実行関数名;

}

const 変数名 = 関数名(引数1);
const 結果変数名  = 実行関数名(引数2);