🐤

JavaScriptを学び始めた人が知っておいた方がいい超初歩的なこと。ECMAScriptとは?

2022/11/18に公開

はじめに

こんにちは。フロントエンジニアやっているkeiziii_sanです。
フロントエンジニアとして働き始めて2ヶ月ほど経ったのですが、JavaScriptについて改めて学び直そうと思いたち最近技術書をスキマ時間で少しづつですが読み漁っています。
そんな中で「こういう知識ってJavaScriptを勉強した頃に知っておいた方が良かったな」ということがいくつかありました。今からでもタイムマシンに乗って伝えたいけど、そんなことは無理なので、過去の自分に向けて記事に残しておこうかなと思います。

もし、これからJavaScriptを学ぼうと思っている。もしくはJavaScirptを学び始めたという方がいれば参考になる記事になる思いますので是非目を通して頂ければと思います。

JavaScriptとECMAScript

最初に少しだけJavaScirptの歴史の話になるのですが、JavaScirptは95年にWebブラウザNetscape Navigatorに実装されることで世に広まりました。同じ頃にMicrosoftのInternet Explorer 3.0にJScriptというJavaScriptに似たプログラミング言語が実装されました。
当時はJScriptとJavaScriptに互換性はなく、開発者はブラウザごとに異なるコードを書かなければいけませんでした。そんな背景で、97年にEcma Internationalという団体がJavaScriptの標準化をしなければならないと作られたルールがECMAScriptです。なのでJavaScirptはECMAScriptに基づいて新しい機能が追加されているのです。
そしてECMAScriptは2015年にES2015で多くの機能が追加されて以降毎年リリースされています。
現在の主要ブラウザはES2015に対応しています。

バージョン 公開日
ECMAScript 2015 ES2015 / ES6 2015年6月
ECMAScript 2016 ES2016 / ES7 2016年7月
ECMAScript 2017 ES2017 / ES8 2017年6月
ECMAScript 2018 ES2018 / ES9 2018年6月
ECMAScript 2019 ES2019 / ES10 2019年6月
ECMAScript 2020 ES2020 / ES11 2020年6月

JavaScritpのコードを書いていく際に気をつけておきたいのが、書こうとしている関数はECMAScriptのどのバージョンのものなのか。またそれは今後廃止されるコードなのかに注意した方がいいということです。
JavaScriptのコードの関数などを調べるときにみなさんが使ったことがあると思いますが、JavaScript MDN Web Docsに色々な関数の書き方とブラウザとの互換性も掲載されています。もしこのコードは使ってもいいのかと悩んだらまずはECMAScriptのバージョンを調べてみるのもいいかもしれません。
ECMAScriptのリリースや仕様について、これまで意識してくることは無かったのですが
コードを書いていく上で、自分の書いたコードはブラウザにどう影響しているのか、今後廃止にならないのか意識することは大切だと思います。そういった意味で、これからJavaScriptを学ぼうとしている方もECMAScriptを少し意識しながら開発してみてはどうでしょうか。

Discussion