Open9

宣言的

kzk4043kzk4043

宣言的(Declarative)

  • const
  • array=非破壊メソッド系
    • map
  • switch/三項演算子/ショートサーキット
kzk4043kzk4043

定数aを宣言し、その定数は基本的にずっと一定。
違う状態に遷移する場合には、b=f(a)を適用して別の状態を宣言する。
宣言時の値を処理中のどこでもその値として使える。途中の処理を追う必要がなく、コンテキストを理解せずともその値を使える。

kzk4043kzk4043

型と相性が良いような気がする。
型という集合、状態を定義して、その集合から集合への遷移を関数として表現する

kzk4043kzk4043

命名の重要度が上がる。
わかりやすい命名をすれば命名を見ただけで何かわかり、そこから値が変わらないわけだから命名だけでプログラムを見れる

kzk4043kzk4043

手続き的、命令的

  • let(var)
  • for
  • array=破壊メソッド系
    • push, slice
  • else if / else
    • else if かくくらいならオブジェクトとして定義とかswitchした方が宣言的な気がする
    • 三項演算子やショートサーキットを活用
kzk4043kzk4043

letという可変な宣言をし、破壊メソッドなどを使ってその値自体をどんどん更新していく。当然場所によって宣言時とは違う値が入っているので、その時点でその値が何なのか理解するには処理の途中経過を追う必要がある。