5404某ITスタートアップで代表をやっています。基本的には技術関連の事を書きます。先日のブログ記事に、たくさんのブックマークをいただきました。JavaScript勉強会http://jsstudy.hatenablog.com/entry/2017/03/26/235425プログラミングのやり方って、いろんな方法が考えられてきました。しないほうがい...ブックマークのコメントで、こんな意見がありました。JavaScript勉強会うへええええ継承による差分プログラミングとか現代に言わないでくれよ。JavaScriptはプロトタイプベースのオブジェクト指向プログラミング言語ではない?実際のところ、どうなんでしょうか?知識は知識として、正確に理解しておきたいです。勉強がてら、調べてみましょう。(2)のプロトタイプベースの方から先に見てみることにします。ちなみに、英語の「prototype」は、日本語で「原型」という意味です。(「proto」は「最初の、原始の」、「type」は「型、形式」という意味です。WikipediaJavaScriptとは、プログラミング言語のひとつである。一般的に、プロトタイプベースのオブジェクト指向スクリプト言語であると言われている。コンストラクタなどのクラスベースに見られる機能も取り込んでいる。Wikipediaプロトタイプベースとは、オブジェクト指向言語と総称されるプログラミング言語のうち、プロトタイプを基礎(ベース)としてオブジェクトを取り扱うものをいう。インスタンスベースとも。オブジェクトの取り扱いをクラスでおこなっているものをクラスベースとよぶ。プロトタイプベースのオブジェクト指向言語は一般的なオブジェクト指向言語とは対照的に、静的なクラスを持たず、新しいオブジェクトを既存のオブジェクトのクローンから作成する。Smalltalkを元にクラスの複雑性を排除したSelfが特に有名である。他にJavaScript、NewtonScript、Ioなどがプロトタイプベース(またはその機能を持つ)と考えられる。「JavaScriptはプロトタイプベースのオブジェクト指向プログラミング言語」という説明になっていました。これは、広く知れ渡っているJavaScriptの一般的な説明であり、多くのプログラマーが目にしている情報でしょう。検索MDNのJavaScriptリファレンス(学習や実務で役立つ情報が提供されています。備えたプログラミング言語です。多くの非ブラウザ環境においても使用されています。動的型付けを持ち、そしてオブジェクト指向、命令形、そして関数プログラミングといったスタイルをサポートするマルチパラダイムのスクリプト言語です。MDNの説明を見てみましょう。クラスではなく、プロトタイプに基づいたオブジェクトベースの言語です。オブジェクト階層構造をどのように作り上げているか、またプロパティやその値の継承方法が表面上分かりにくいものとなっています。本章ではこれらの実態を明らかにしていきます。クラスではなく、プロトタイプに基づいたオブジェクトベースの言語です。「プロトタイプベース」とは別に「オブジェクトベース」という用語も出てきました。種類の異なる実体があるという概念に基づいています。メンバをプロパティとみなします)を定義します。クラスとは、自身を表すオブジェクト集合のメンバよりも、より抽象的なものです。クラスは従業員すべての集合を表現することができます。インスタンスはクラスを具体化したものです。クラスのインスタンスになることができます。このインスタンスは、特定の個人を従業員として表すものです。インスタンスは、その親クラスのプロパティを(過不足なく)正確に保持します。ようなプロトタイプベースの言語は、この区別がありません。オブジェクトがあるだけです。このオブジェクトは、新しいオブジェクトの初期プロパティの取得元になるテンプレートとして使用されます。どのオブジェクトも独自のプロパティを指定できます。これはオブジェクト作成時にも実行時にも可能です。どのオブジェクトも別のオブジェクトに対するプロトタイプとして関連づけることができます。目のオブジェクトのプロパティを共有させることもできます。JavaScriptの開発元であるMozillaの説明によると、JavaScriptは、クラスベースのオブジェクト指向プログラミング言語ではなく、プロトタイプベースのオブジェクト指向プログラミング言語であるとのことです。能力を特色としています。オブジェクト指向プログラミングの概念を説明します。モデルです(クラスレス、プロトタイプ指向、あるいはインスタンスベースプログラミングとも呼ばれます)。フレームワークとして使われています)などのプログラミング言語に採用されました。「プロトタイプベース」とは別に「インスタンスベース」という用語も出てきました。文を持つ言語に慣れているプログラマを混乱させます。JavaScriptは、プロトタイプベースの言語、とのこと。してよく知られています。おもちゃだと馬鹿にされながら、しかしその人を欺くような単純さの下に、強力な言語機能が隠されているのです。モバイルの開発者にとっても重要なスキルであることが示されました。オブジェクト指向の動的言語であり、型や演算子、標準組み込みオブジェクト、メソッドがあります。