プログラミングパラダイム
JavaScriptはマルチパラダイム
宣言型と命令形
宣言型
何をするのか(what)を記述する
基本的にはすべてが式(expression)
命令形(手続き型)
結果を得るための手順(how)を記述する
文 (statement) と式 (expression) が存在する
JavaScriptで覗き見る関数型プログラミングの世界
現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング
関数型プログラミング(FP)とオブジェクト指向プログラミング(OOP)
関数型プログラミング
関数で組み立てる
宣言的である
関数は第一級オブジェクトである
引数が同じなら同じ値を返す
引数以外の入力がない
基本すべての値を不変として扱う
更新方法
コピー
代入
こわくない関数型プログラミング
オブジェクト指向プログラミング
クラスで組み立てる
命令的である
可変である
どちらを選ぶ?関数型プログラミングとオブジェクト指向プログラミング(OOP)