プログラミングパラダイム
JavaScriptはマルチパラダイム
宣言型と命令形
宣言型
何をするのか(what)を記述する
基本的にはすべてが式(expression)
命令形(手続き型)
結果を得るための手順(how)を記述する
文 (statement) と式 (expression) が存在する
文 (statement) と式 (expression)
JavaScriptで覗き見る関数型プログラミングの世界
https://fixel.co.jp/blog/functionaljs/
現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング
https://zenn.dev/mizchi/articles/oop-think-modern
関数型プログラミング(FP)とオブジェクト指向プログラミング(OOP)
関数型プログラミング
関数で組み立てる
宣言的である
関数は第一級オブジェクトである
副作用を起こさない(純粋関数)
引数が同じなら同じ値を返す
引数以外の入力がない
基本すべての値を不変として扱う
更新方法
コピー
代入
こわくない関数型プログラミング
https://zenn.dev/tockri/books/dcaf6c55e64448
オブジェクト指向プログラミング
クラスで組み立てる
命令的である
可変である
どちらを選ぶ?関数型プログラミングとオブジェクト指向プログラミング(OOP)
https://circleci.com/ja/blog/functional-vs-object-oriented-programming/