generated at
プログラミングパラダイム
JavaScriptはマルチパラダイム

宣言型と命令形

宣言型
何をするのか(what)を記述する
基本的にはすべてが式(expression)

命令形(手続き型)
結果を得るための手順(how)を記述する
文 (statement) と式 (expression) が存在する


JavaScriptで覗き見る関数型プログラミングの世界
現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング

関数型プログラミング(FP)とオブジェクト指向プログラミング(OOP)

関数型プログラミング
関数で組み立てる
宣言的である
関数は第一級オブジェクトである
副作用を起こさない(純粋関数)
引数が同じなら同じ値を返す
引数以外の入力がない
基本すべての値を不変として扱う
更新方法
コピー
代入

こわくない関数型プログラミング

オブジェクト指向プログラミング
クラスで組み立てる
命令的である
可変である

どちらを選ぶ?関数型プログラミングとオブジェクト指向プログラミング(OOP)