
57
2.2 データ思考
変換し、最後の解に至る、といった場面に多数出会うはずです。
2.2
データ思考
本書では、セット、ツリー、そしてテーブルといった抽象データ型を表現するため
に、最小限のデータ型を用いるアプローチを採用します。しかし
JavaScript
におい
て、オブジェクト型は非常に強力である一方、オブジェクトを操作するためのツール
は関数型スタイルであるとはいえません。代わりに、
JavaScript
オブジェクトにおい
て考えられるより大きな使用パターンは、ポリモーフィックディスパッチのためにメ
ソッドを追加するような場合です。そして感謝すべきことに、(コンストラクタ関数
によって生成されていない)無名の
JavaScript
オブジェクトは、単純な連想データ
ストアとしても使用することができます
†
。
例えば、
Book
オブジェクトもしくは
Employee
型のインスタンスで実行できる操作
を「
setTitle
」や「
getID
」のようなものに限定してしまうと、そのデータを「情報の
断片ごとに定義された、マイクロ言語のようなもの」に閉じ込めていることになりま
す(
Hickey 2011
)。データモデリングにおける、より柔軟なアプローチは連想デー
タモデリングの技術です。
JavaScript
オブジェクトは、プロトタイプの仕組みを差し
引いたとしても、連想データモデルを実現するための理想的な入れ物です。名前を
持った値を利用することにより高位のデータモデルを構築することができ、それらの
値に一意の方法でアクセス可能であるためです ...