Javascriptとはなにか?

サイホンと呼ばれるオライリーのjavascript本をよんでjavascriptを完全理解したい。
今回はその第一回としてjavascriptとは何なのかということをまとめたい。
Javascriptとはwebのためのプログラミング言語なんやって。現在公開されているすべてでJavascruptが使われいるらしい。
で、PCとかスマホ、タブレットにはJavascriptインタプリタというのが搭載されてるらしくて、インタプリタって何やって話なんやけど、プログラミング言語には、インタプリタ型とコンパイル型っていう2つあんねんて。何の軸で分けてるのかというと、プログラミング言語を機械語を変換するタイミングらしい。プログラミング言語は人間が理解できるものなんやけど、コンピューターは理解できないらしく、理解できる機械語に変換してあげる必要があるねんて。
タイミングの違いっていうてんけど、具体的には、インタプリタ型はコードを一行ごとに機械語へ翻訳していくもので、コンパイル型は、コード全てを一気に翻訳するものらしいい。メリデメに関しては調べてくれ。
インタプリタ型の言語はJavascript以外に、有名どころやとpythonとかがあるらしくて、コンパイル型は、C言語とかがあるらしいわ。
ちなみに、プログラミング言語の区別の仕方で、プログラミングパラダイムという軸で区別したりするんやって。Javascriptは、オブジェクト指向言語で関数型言語。
JavascriptはJavaの文法をベースに作られてるらしいねんけど、文法以外は全く異なるらしい。で、SchemeとかSelfとかいうあんまり知らん言語からいろいろ踏襲して作られているらしい。初めてしったわ。
あんまり深く知ろうとすると沼なのでここで止めておく。

Javascriptの歴史

webの黎明期(2000年台)にNetscape(現Mozilla)社が開発した言語で、正確に言えばこの名前は、Oracle社から使用を許諾された商標で、Netscape社のJavascript言語の処理系を表すものなのだそう。じゃあ、Javacriptのほんまの名前は何かというと、ECMAscriptなんやって。正直どっちもほんまなんやけど、ECMAscriptはJavascriptの標準化版といわれていて、Netscape社がこの言語を標準化させるためにECMA(ヨーロッパ電子計算機工業会)に言語仕様を提出した際につけられた名前なのだそう。
で、ES6とかの表示があったりすると思うんやけど、これはECMAscriptのバージョンが6という意味。で、2015年にES6がリリースされて以降は、ES2016,ES2017のように年号で区別されるように変わったらしい。
で、毎年アップデートがリリースされてるらしいので2022年版ももうでてた。めっちゃ置いてかれてる感じするわ。
余談なんやけど、ES5以前のバージョンの問題をES5以降で修正しようとしたらしいねんけど、互換性とかの問題で削除できなかったらしく、ES5以降では、strictモードを選ぶことで過去のバージョンの問題を修正できるようにしてるねんて、ほんで、ES6以降やと新しい機能を使うと自動的にstrictモードになって、古くて問題のある機能は利用できへんくなるねんて。

いいなと思ったら応援しよう!