Мы использовали ES2015 в нашем проекте вместе с Babel, чтобы преобразовать его в ES5 для совместимости с браузером. Чтобы дать краткое введение, ES2015 — это следующая версия Javascript, которая обогащает JS, предоставляя множество полезных конструкций. Сначала начну с проблем в существующем JS,

неопределенный. Я много раз видел это при отладке. Также необходимо проверить undefined или null или ‘’ (пусто) для строки. Это плохо.

прототип. Объект создается как функция, и использование obj.prototype.somefunc для добавления функций к объекту не очень интуитивно понятно по сравнению с другими языками.

Первая проблема undefined решается с помощью конструкций let и const. Прочитайте суть ниже, чтобы увидеть проблему,

Это связано с подъемом в Javascript, что означает, что все объявленные переменные будут подняты наверх с начальным значением как «неопределенное».

Поэтому, когда мы обращаемся к переменной, прежде чем присвоить ей какое-либо значение, мы получим это неопределенное значение вместо того, чтобы выдавать ошибку. Я чувствую, что лучше ошибиться, чем продолжить работу с undefined и в какой-то момент нарушить функциональность приложения. С помощью let и const переменные будут подниматься внутри этого блока (что все еще некрасиво :-(), и, следовательно, мы получили ошибку ссылки, но это намного лучше по сравнению с глобальным подъемом.

Следующим является конструкция класса. С ES6 мы можем объявлять классы и писать методы более интуитивно понятным способом.

Классы по-прежнему являются функциями, и если вы используете typeof Employee, это дает нам функцию, но мы получаем много преимуществ, таких как инкапсуляция, наследование. Также, как и в обычном классе, у нас может быть метод экземпляра, методы класса.

Я только что говорил о конструкциях объявлений в ES2015, но их много, и стоит попробовать.