オブジェクトのテンプレートを作るための仕組みである、クラスの概念を見ていきます。
- クラス
- インスタンス
- class
- constructor()
- this
- new

クラス
・クラスはまずテンプレートを作ってそこに入れたい文章や数字を入れていくことでテンプレートを何度も使うことができるようなシステムです。
・例えばSNSに投稿したい場合、プロパティやメソッドがあって、テキストのところだけ異なる値を渡してあげれば、オブジェクトをたくさん作ることができます。
インスタンス
・クラスから作られるオブジェクトのことをインスタンスと呼びます。
・つまりクラスがテンプレートなのに対してインスタントは文字が入った状態のことをいいます
class
・クラスの作り方ですが、 class というキーワードのあとにクラス名を好きに付けてあげれば OK です。
・クラス名は習慣的に先頭は大文字にすることが多いです。
・今回のようにSNSを作る場合は、Postなどにして先頭は大文字にしてあげましょう。
constructor()
・プロパティについては constructor() という特殊なメソッドで初期化してあげます。
・初期化処理でインスタンスのプロパティがセットされるのですが、このクラスから作られるインスタンスをクラス内では this というキーワードで表現する。
・インスタンスごとに違う値にしたい場合、 constructor() に引数を渡すことにして、それをセットしてあげればいいかと思います。
・constructor(text){}というようにします。
this
・テキストを投稿したい場合は、this.text = text; ライクカウントもthis.likeCount = 0;としてあげるとインスタンスを表現できます。
・constructor() 以外のメソッドについてはそのまま書いてあげれば OK です。
new
・インスタンスを作る場合は、newというキーワードに続けてクラス名を書いてあげ、()の中に埋め込みたい独自の値を入れてあげます。
・例えば、’hello’と投稿したい場合はnew Post(‘hello’)とすればconstructor() の引数に渡されて、その内容でインスタンスが作られる、という仕組みになっています。
