Что такого важного появилось в ES6 (ECMAScript 2015)?
Постоянно слышу «это es6», «пиши на es6», но не понимаю, что именно за этим стоит. Учебник, по которому начинал, видимо, старый.
Что такого важного добавили в es 6 и стоит ли это вообще учить новичку, или можно по-старому? Хочется обзорно понять, что нового, чтобы не путаться в чужом коде.
2 ответа
ES6 (он же ECMAScript 2015) — это большое обновление языка, после которого JS реально похорошел. Сегодня весь современный код пишут именно в этом стиле, так что учить надо сразу его, по-старому смысла нет.
Кратко главное, что появилось:
let и const вместо var — нормальная блочная область видимости:
const PI = 3.14; // нельзя переназначить
let count = 0; // можно менять
Стрелочные функции — короткий синтаксис:
const double = x => x * 2;
Шаблонные строки — подстановка через ${} и обратные кавычки:
const name = 'Аня';
console.log(`Привет, ${name}!`); // вместо 'Привет, ' + name + '!'
Деструктуризация — удобная распаковка:
const { age, city } = user;
const [first, second] = arr;
Спред ..., значения по умолчанию в параметрах:
const copy = [...arr];
function hi(name = 'Гость') { return `Привет, ${name}`; }
Классы (class), Promise для асинхронности, Map и Set как новые коллекции, модули (import/export).
Я намеренно не расписываю каждое подробно — про стрелки, деструктуризацию, let/const, Promise на сайте уже есть отдельные разборы, загляни туда. Тут главное понять масштаб: ES6 — это фундамент современного JS. После него были ES2016, ES2017 (async/await), и так далее каждый год, но именно ES6 — переломный.
Маленькое уточнение по поводу «можно ли по-старому». Учить именно ES6+ — однозначно да, потому что:
- весь чужой код, который ты будешь читать, написан в этом стиле;
- современные браузеры всё это понимают из коробки, никаких костылей не нужно;
- старый стиль (
var, конкатенация строк плюсиком) сейчас выглядит как привет из 2010-го.
Так что не трать время на устаревший синтаксис, бери сразу актуальный.