回答編集履歴

1 誤解が発生しそうだったので直しました。

oskbt

oskbt score 1849

2017/04/16 21:52  投稿

クラスとかインスタンスっていうのはクラスベースのオブジェクト指向の単語ですね。javascriptでは別の方法でオブジェクト指向を実現しているため、**わからないもなにもそもそもjavascriptにクラス・インスタンスって考え方はないよ**っていう回答が正解になるのではないかと思いますが、それだと意味不明なままだと思いますので分かる範囲で解説しますね。
クラスとかインスタンスっていうのはクラスベースのオブジェクト指向言語の単語ですね。javascriptでは別の方法でオブジェクト指向を実現しているため、**わからないもなにもそもそもjavascriptにクラス・インスタンスって考え方はないよ**っていう回答が正解になるのではないかと思いますが、それだと意味不明なままだと思いますので分かる範囲で解説しますね。
そもそも、オブジェクト指向の考え方を実際に実現する方法の違いってのがあり、javaのようなクラスベースの言語と、javascriptのようにプロトタイプベースの言語が存在しています。
誤解を恐れず簡単に書くと
オブジェクト指向:プログラムを物質的なモノ(状態と機能を持つ)と同じように扱う。修理とか改修とかのプログラムの管理を楽ちんにするのが目的
クラスベース言語の世界:クラスという設計図を元にインスタンスというオブジェクトをつくる
プロトタイプベース言語の世界:オブジェクトのコピーとして新しいオブジェクトをつくる
です。
コンストラクタはクラスベース言語の世界だとクラスからインスタンスをつくるメソッドで、javascriptだと関数(関数もオブジェクト)からオブジェクトを作成するメソッドです。javascriptだとコンストラクタの意味が変わります。
気を悪くしないでほしいのですが、ご質問が大富豪でフルハウスについて聞いている状態です。ゲーム(言語)が違います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る