2021/04/23
JavaScriptに種類?CommonJSとECMAScript
概要
早速ですが、JavaScriptに種類が存在していた事を知っていましたか?
タイトルにも記載していますが、「CommonJS」と「ECMAScript」といった2種類が主にあります。
普段使っているJavaScriptはどっちで、どういった違いがあるのか、について見ていこうと思います!
CommonJSとECMAScriptの違い
普段使っているJavaScriptはどれかを先に説明したい所なのですが、まずは違いが分からないとどちらを使用しているかが分かりません。
その為、先に違いを説明致します!
JavaScriptを書いている時に、次のような「import」や「require」といったワードを見た事ないでしょうか?
import defaultExport from "module-name";
const module = require( module-name );
このimportやrequireは、モジュールといった別のJSファイルを読み込んでいます。
この「import」と「require」がCommonJSとECMAScriptの違いとなってきます。
require = CommonJS
import = ECMAScript
となります。
そして、CommonJSで書かれたJSは、ChromeやSafariなどのブラウザで動きません。
逆にECMAScriptは動きます。
ハッキリと分かる違いとしては、上記2点となります。
普段使っているJavaScriptはどっち?
違いを見てもらうと、すぐに分かってしまうのですが、ブラウザで動いているものは「ECMAScript」になるのでWEBプログラミングをされている方なら、「ECMAScript」を普段お使いになれていると思われます。
では、「CommonJS」はどういった時に使うの?
CommonJSは「Node.js」といったサーバー側で動くJavaScriptの時に使用します。
「Node.js」はサーバーサイドになってくるので、PHPといった言語と同じ位置にきます。
JavaScriptという一つの言語でPHPの部分も担う事ができるのが大きなメリットです。
ECMAScriptについて
CommonJSについてはNode.jsで動く物なんだな〜という認識で良いのですが、ECMAScriptに関してはもう少し詳細を話しておきます。
過去のJavaScriptはブラウザ毎に異なった書き方をしていました。
ブラウザを開発している会社が独自の拡張をしていった為です。
その為、同じJavaScriptという言語でも色々な書き方が存在していたのです。
それを統一する為に出来たのが、ECMAScriptという準拠です。
その準拠を公開した時にバージョンがアップしていってます。
次のような感じです。
バージョン | 公開日 |
ECMAScript1 | 1997年6月 |
ECMAScript2 | 1998年6月 |
ECMAScript3 | 1999年12月 |
ECMAScript4 | 放棄 |
ECMAScript5 | 2009年12月 |
ECMAScript5.1 | 2011年6月 |
ECMAScript6(2015) | 2015年6月 |
ECMAScript7(2016) | 2016年6月 |
ECMAScript8(2017) | 2017年6月 |
ECMAScript9(2018) | 2018年6月 |
ECMAScript10(2019) | 2019年6月 |
ECMAScript1011(2020) | 2020年6月 |
現在はECMAScript6(2015)が標準のようです。
なので、ブラウザで動くJavaScriptを記述する際は、ECMAScript6(2015)を使用しましょう!
以上になります。
詳しく知りたいという方は下記サイトをご覧下さい。
参考サイト