Вы придаете слишком большое значение языку программирования.
Вам еще предстоит как следует разобраться с совсем иными вещами: паттерны, концепции, алгоритмы, парадигмы, принципы, алгоритмы - и как это все применять.
Язык - вторичен. Он учится просто.
Сложно учатся - алгоритмы, парадигмы, принципы, концепции, паттерны.
Но! Эти вещи из языка в язык - переходящие.
P.S.:
Как пример - вы даже еще не понимаете, что ES6 в чистом виде мало где применим.
Что до сих пор еще нужны транспиляции:
Когда вы пишете на ES6, прогоняете через транспилятор - и получаете ES5, который и выкладывается в проект.