質問: fn(0); f() // 1 ``` このように`クロージャー`を使った変数の保持をしている場合、 `f`の現在の`cnt`という変数名と値を取得することはできますか? (chromeのdevtoolを用いれば見れることは知っています。) 追記 -- chromeを使った場合なのですが ・関数定義&1回使用 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/663c94d8490d28fe08c23f2689bf8d30.png) ・windowオブジェクトみる ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/f40e18a279027468bb4a42a77226d150.png) ・さっき作った関数を確認 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/b5687494bc8da342f1c3f0d28b61d36f.png) こんな感じでその関数に付随するスコープが確認でき、さらにその中身の値まで知ることが出来ます。 どこかに保持されているのなら`javascript`を用いて(例えば実際は無いですが`func.scopes`でスコープオブジェクトが出てきたりとかで)確認する方法がないかなーと思った次第です。 好奇心からの質問であり、特に用途は考えていないのでまったくもって意味のない事の可能性もあります、すみません・・・
回答: > > Object.keys(obj)を用いてオブジェクトのプロパティを得る事ができるように > > 関数オブジェクトに紐づいているクロージャースコープの変数の値をとる手法ってないのかな? > > > 標準的なJavaScriptには用意されていません。