LoginSignup
5
1

More than 3 years have passed since last update.

【JS学習その①】JavaScriptとECMAScript

Last updated at Posted at 2020-09-13

JS学習シリーズの目的

このシリーズは、私ジャックが学んだJavaScriptのメカニズムについてアウトプットも兼ねて、
皆さんと知識や理解を共有するためのものです。
(理解に間違いがあればご指摘いただけると幸いです)

ECMAScriptとは

「JavaScript言語のコアの部分をECMAScriptとして仕様策定したもの」

1990年代(インターネット黎明期)に当時はブラウザとして大きなシェアを持っていた
"Netscape Navigator"(以降NNと略す)が皆さんご存じ"Internet Explore"(以降IEと略す)という
(当時は大きな)ライバルに勝つためにJavaScriptを生み出しました。
IEもこのJavaSciriptを使いたかったが、ライセンスなどの問題で使えなかったので新たに"JScript"を生み出しました。
しかし、この2つの言語には互換性がなかったため、ブラウザ間での仕様を統一するためにECMAScriptが作られました。
これにより、開発者がサイトなどの開発がしやすくなりハッピーになったというわけです。

JavaScriptは実行環境によって使える機能が変わる

ECMAScriptについては前述した通りですが、あくまでJavaScriptの一部がECMAScriptです。
ブラウザ環境で動くのがECMAScript(他にもWeb APIsがある)ですが、PC内のNode.jsで動くときは
"ECMAScript"に加えて"CommonJS"が使われます。

ここで重要なのは、見出しの通り「JavaScriptは実行環境によって使える機能が変わる」ということです。

まとめ

JavaScriptとは
・ECMAScriptの仕様に基づいて実装されているプログラミング言語
・環境によって使える機能が変わってくる

おまけ

現在のECMAScriptの仕様策定は"Living Standard"といって、
「機能毎に使用を策定し、仕様が決まったものから最新版の仕様書に順次追加していく」
というプロセスを採用しています。
仕様策定プロセスはStage0~Stage4まで存在し、それぞれ
Stage0--アイデアレベル(Strawman)
Stage1--機能提案・検討(Proposal)
Stage2--暫定的に仕様決定(Draft)
Stage3--テスト・実装(Candidate)
Stage4--仕様決定(Finished)

基本的にStage2(Draft)の段階からES最新版に取り込みします。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1