DEVELOPERS BLOGデベロッパーズブログ

  1. HOME > 
  2. 加藤 正人のデベロッパーズブログ > 
  3. JavaScript でのクロージャからの外部変数参照

加藤 正人のデベロッパーズブログ

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

2015/11/07

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

 

以前 PHP の無名関数間で外部変数を介して値の受け渡しを試みたのだが、うまくいかないことを記事にした。

ところが同じことを JavaScript ではできることが分かった。例えば、

のようにすると done の部分のクロージャと always の部分のクロージャでは、外部変数 json を介して値を共有することができる。結果は外部変数を通じて次のクロージャに渡される。つまり、単純なコピー法ではなくきちんと変数スコープと変数エクステントを管理していると考えられる。

JavaScript の場合非同期処理が多いので、各非同期処理コールバックコード間での値の受け渡しに外部変数が使えるととてもコードが書きやすくて助かる。(ただし、意図しない変数名衝突のリスクはあるが。)