そういえば、実はnew演算子のことがよくわかっていないのだった。理解できていないというより学習を試みていない。
段階としてはとっっっっっくにわかっているはずのものな気がする。けど、今だからちゃんと使えそうな気もする。
関数をnewで呼ぶという普通の(?)使い方を理解しない状態で、インスタンスと言えばクラスという感じで咀嚼してしまったので、「なるほど、関数はそう使えば良いのか」と今更思っているところです。
というか、「クラスとはなんなのか」ということに理解が追いついてきた感じがします。
後から追加された便利な書き方というのは、それ以前それが何だったのかをわかっているかいないかが重要ですよね。コンストラクターってなんだろうと思いながら長い間「そういうもん」としてやっていた。クラスを書く時は最初にそう書くもの、みたいな。その状態でもプログラムを動かすのに支障はないけど、必然性を欠いたコードになってしまっていただろうと思う。
まあそもそも「オブジェクトとは何か」というのをわかるのが容易でない感じがあるので現時点で「これはこうだったのか」と感じることが的を射ているとは到底思えないわけですが、それでも核心から超遠い場所にいたのが一歩ずつ近づいてはいるはず。それが喜ばしい。
炊飯器でしかご飯を炊けなかったのが鍋で自由に炊けるようになり、その上でやっぱり炊飯器を使うということはあり得るし、私は「鍋でも飯盒でも炊けて、且つ炊飯器も普通に使う」状態になりたいと感じている。
炊飯器があればご飯は炊けるけど、それだけではご飯のことも「ご飯を炊く」ということもわからない。炊けりゃいいわけではない。という感じ。でもご飯が炊かれる状態を科学的に分析とかいうことをしたいわけではない。そこまで解体したいのではない。
アッ、この場合TypeScriptだと炊飯器じゃないと炊けない(型を付けられない)…。まあクラスに対する理解が深まったからいいか…。
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。
関数をnewで呼ぶという普通の(?)使い方を理解しない状態で、インスタンスと言えばクラスという感じで咀嚼してしまったので、「なるほど、関数はそう使えば良いのか」と今更思っているところです。