フロントエンジニアのメモ

普段フロントエンジニアしているやつが思ったことや書き残したいこと

JavaScriptを学ぶ上で知っておくべき基礎的な知識

今回はこちらのアドベントカレンダーの11日目の記事です。

qiita.com

今年1年を振り返ってみるとJavaScriptを入門する方に教えることが多くありました。
その際に、「JavaScriptの情報が多すぎてなにがなんだかわからない」という言葉を何度か頂き、その都度教えていたJavaScriptを学ぶ上で知っておくべき基礎的な知識を今回はまとめようと思います。

JavaScriptの言語仕様について

JavaScriptは1つの言語として成り立っていますが、その中核となる仕様はECMAScriptというものになります。

例えばES 2015などと記載のあるものは、2015年に策定されたECMAScriptのメジャーバージョンであるECMAScript 2015を指しています。

このECMAScriptの仕様を策定するグループとしてTC39 Processという委員会があります。

この委員会では仕様を策定するのに決められたプロセスが存在し、このプロセスの検討が進むにつれて、stageが上がっていき、4段階目になると正式にECMAScriptの機能として取り込まれます。

stageについてはこちらを参照すると良いです。

The TC39 Process

現在使用可能かの状況を知りたい時はこちら

ECMAScript 6 compatibility table

tc39についてはGitHubで情報が参照できるので、見てるのも面白いです。

ブラウザについて知る

現在ブラウザは様々存在していますが、それぞれのブラウザにはJavaScriptを処理しているJavaScriptエンジンというものが存在しています。
各ブラウザに搭載されているJavaScriptエンジンは下記になります。

中身まで詳しく知らなくても、この存在を知っていると各ブラウザで挙動が違う理由がわかったりするので、JavaScriptを学ぶ上では非常に重要なことになります。

おまけ

JavaScriptの時代の変化についていくには、基礎的な知識としては上記2点を押さえておけば良いかなと思います。
もちろん使っているフレームワークやライブラリによって知らなければいけないことは増えますが、そちらは人それぞれということで。

ここからはJavaScriptを学ぶときに知っておいたらいいかな〜と思う程度の情報です。

検索方法

JavaScriptを学ぶ上で検索することが何度もあると思います。
しかし、年々状況が変化しているにも関わらず、古い情報を参照して実装していまい、プルリクエストを提出して、怒られたことがある人は少なくないと思います。
私の場合は検索する際に期間指定でフィルタリングすることで、まずは最新の情報を常に参照しています。

具体的な設定はこのようにしています。
基本的に1年以内に設定していれば良いかなと思います。

f:id:tf6533:20171211175548g:plain

最後に

これからJavaScriptを学ばれる人はまだまだたくさんいらっしゃると思いますが、基礎的な情報を抑えることで、流れの速いと言われるフロントエンド界隈にもついていくことができるかなと思いますので、今回の記事の内容について知らなかった方は参考にしてください〜。