質問: JSのクラスはオブジェクトではないのですか? 他の言語は、クラスを具現化したインスタンスはオブジェクトの一種なんですね。 確かクラスもオブジェクトですよね。 調べたところ下記のようなコメントがあり気になります。 >>> 確かに そのようなイメージを持たれがちですが、通常 クラスはオブジェクトとは言いません。 通常 オブジェクトと言った場合はインスタンスを表します。 ただしオブジェクト指向プログラミングと言った場合には また別の意味になります、オブジェクト指向プログラミングと言った場合には オブジェクト的なプログラミングを指向する全般的な要素みたいな感じです、ここではクラスも含まれるのでクラスもオブジェクトと言うイメージを持たれがちになります。 ・インスタンスとプロパティについて >>> まず変数と言う箱があって、その箱(変数)にオブジェクト(インスタンス:実態)が代入されます。 オブジェクト(インスタンス:実態)はプロパティ(変数)と言うポケット(箱でも良いですが)を持っていると言うイメージです。 と情報があったのですが、始めにある変数とはクラスの事ではないのですよね。 クラスはあくまで設計図であって箱や変数ではないらしいので。 すると初めにある変数とはいったい何なのでしょうか? 自分で変数をまず定義するのが決まったルールでこのじさくの変数の事を言っていると思いますか?
回答: > > JSのクラスはオブジェクトではないのですか? > > > JSでは全てオブジェクトです。クラス構文はクラスが無いjavascriptにおいて、あくまでクラスっぽく書けるだけのものに過ぎません。 変数はメモリ空間上に確保されたデータ領域です。