JavaScriptのほんっとうに基本的なそもそもの話

Pocket
LINEで送る

こんにちは。中村です。フロントエンドのコーディングをする上でお馴染みのJavaScriptですが、その細かい生い立ちだったりなどってご存じですか?僕は今までJavaScriptについて深い理解のないままコーディングを行っていました。

そこで、今回は個人的にJavaScriptについて調べたことをメモとして残します。

JavaScriptとは?

JavaScript(ジャヴァスクリプト)とは、プログラミング言語のひとつである。 Javaと名前が似ているが、異なるプログラミング言語である(後述の#歴史を参照)。 オブジェクト指向のスクリプト言語であることを特徴とする。(中略)JavaScriptという言葉は狭義にはMozillaが仕様を策定し実装しているスクリプト言語を指す。
【出典:JavaScript・https://ja.wikipedia.org/wiki/JavaScript・2015/11/18】

JavaScriptの仕様はMozilla(Firefoxを作っている会社)が制定しているんですね。ECMAScript (ECMA-262) として標準化されているようです。マイクロソフトが制定しているJScriptというものもあります。ですが、現状では主要なブラウザが実装しているスプリクト言語は全てECMAScript(エクマスクリプト)に準拠しているようです。

JavaScriptできること

よく名前を聞くJavaScriptですが、それで一体なにができるのかって結構あやふやになりますよね。(僕が完全にそうですw)AjaxやNode.jsなどとある状態です。現状でJavaScriptでできることは、HTMLやCSSの書き換えを行うこと、web APIを用いて動的なwebサイトを作ること、サーバー側での動作をするもの

つまり、クライアントサイド、サーバーサイドどちらでも利用される言語という特徴があります。

サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。

JavaScriptはプロトタイプベースの中のオブジェクト指向プログラミング言語だと言われていますが、その実態は特殊なようです。

型や演算子、標準組み込みオブジェクト、メソッドが存在します。構文の構造などはjavaから継承しているようで、かなり類似している模様です。

プロトタイプベースとクラスベースとは

プログラム言語の説明でよく聞くプロトタイプベース、クラスベースとは、どういったものなのでしょう。

まずはプロトタイプベースから簡単に触れます。ちなみにそれぞれの言葉の意味は下記になります。

プロトタイプ(英: prototype)は、デモンストレーション目的や新技術・新機構の検証、試験、量産前での問題点の洗い出しのために設計・仮組み・製造された原型機・原型回路・コンピュータプログラムのことを指す。
【出典:プロトタイプ・https://ja.wikipedia.org/wiki/プロトタイプ・2015/11/19】

クラスベースとはオブジェクト指向プログラミング言語の分類のひとつで、クラスを定義し、それを元にインスタンスを生成するスタイルである。 継承ベースともいう。 クラスをもたないオブジェクト指向言語Selfが開発されたことにより、クラスをもつ従来通りのオブジェクト指向言語を区別してこう呼ぶようになった。
【出典:クラスベース・https://ja.wikipedia.org/wiki/クラスベース・2015/11/25】

SNSでもご購読できます。