回答編集履歴
1
段落分け
answer
CHANGED
@@ -5,4 +5,6 @@
|
|
5
5
|
|
6
6
|
といった、トンチ的な解決策でも取らない限り、「状態を変数に保管せずに進める」というのは**現実的ではありません**。
|
7
7
|
|
8
|
-
というのも、Haskellのような純粋関数型言語(変数の再代入どころか、破壊的な変更も存在しない)で状態を表現する場合、「『前の状態』を引数として、『次の状態』を返す」という方法を取って、コード上からは状態依存を追い出しているのです。
|
8
|
+
というのも、Haskellのような純粋関数型言語(変数の再代入どころか、破壊的な変更も存在しない)で状態を表現する場合、「『前の状態』を引数として、『次の状態』を返す」という方法を取って、コード上からは状態依存を追い出しているのです。
|
9
|
+
|
10
|
+
一方でJavaScriptの場合、イベントハンドラの実行時には、クロージャで生き残った変数以外リセットされてしまって、「前の状態を渡す」ということができないので、状態を引き継ぐにはどこかで(破壊的な方法で)保存しておいたものを読み取るほかないのです。
|