ECMAScript
ECMAScript については azu さんの記事が良さそう。
ECMAScript の実装は各社の色々がある。
どの ECMAScript のバージョンで実装を始めるか、というのを決めるには、まずどのブラウザ/JS ランタイムを利用しようとしているのか把握する必要がある。ブラウザなのか Node.js なのか Electron なのか... それらがサポートしている (実装している) バージョンで開発を始められる。
ブラウザ/JS ランタイムで実装されている最新の ECMAScript 仕様を使っていくのが基本的には良いと思う。ブラウザの場合はサポート範囲を考えると限られてくるが、Node.js などの場合はバージョンを固定すれば良い。
あるいは、Gulp や Webpack 等のビルドツールを利用しているなら、Babel を併用することで特定の ES バージョンで書いたものをトランスパイルできる。
今の JavaScript は、ES2015, ES2016, ES2017,... と、毎年言語の仕様が更新されるようになっており、ES2015 はその基点となった特別なバージョン。IE 以外のブラウザは、いずれも 2~6 ヶ月の間隔で更新され、どのブラウザも ES2015 と呼ばれる水準なら基本的にカバーしている。