く、くろーじゃー???その1

クロージャ - JavaScript | MDN

クロージャーの使用

関数のところでクロージャーというものがでてきたが、よくわからなかったので調べてみる。関数の入れ子になってて強力な機能だということは把握。

普通に動くのが不思議だったけど、これはレキシカルスコープってやつで ふつうに動いた。

レキシカルスコープはこのブログの説明がわかりやすかった。 外側にあるものは内側は見えないけど、内側のものは外側のものも見える。 JavaScriptを学ぶ上で避けては通れないレキシカルスコープ - 大人になったら肺呼吸

そのスコープに変数がなかったら内側から外側に値を参照していくというのも理解。

今度は中の関数が外側で実行されないで、returnされてるパターン。 displayName();してないのにmakeFun();で値が返って来てて不思議。 不思議なんだけど、これがクロージャーっていうやつらしい。

こっちも不思議だけど、最初にいれた引数をxの値として参照して、 それがないyをまた後から参照してるから、 っていうクロージャーって理解。

実用的なクロージャーはまた別記事で。