Введение
ES5 и ES6 — это разные версии стандарта ECMAScript, спецификации языка сценариев, лежащей в основе нескольких языков, включая JavaScript. Переход от ES5 к ES6 (также известному как ECMAScript 2015) принёс множество изменений и улучшений. Вот сравнение этих двух стандартов:
let .1 и const (объявление переменных)
ES5: Основной способ определения переменных — использование вар Это было.
ES6: Введение позволять Для определения блочных переменных и константа Для определения блочных постоянных переменных.
2. Шаблонные литералы
ES5: Строки, использующие + Они были связаны.
var name = "John";
var greeting = "Hello, " + name + "!";ES6: Были введены струнные узоры.
let name = "John";
let greeting = `Hello, ${name}!`;Стрелочные функции .3
ES5:
function(x) {
return x * x;
}ES6: Были введены стрелочные функции, обеспечивающие более короткую запись функций.
x => x * x;
4. Классы
ES5: Для моделирования поведения классов использовалось прототипное наследование.
ES6: Ключевое слово сорт Он был введен для объектно-ориентированного программирования.
5. Расширенные объектные литералы
ES5: Объекты определялись парами ключ-значение.
ES6: Предоставляет более короткую запись для определения объектов.
let name = "John";
let obj = {name}; // Equivalent to {name: name}6. Деструктуризация
ES5: Прямого метода не было.
ES6: Теперь можно извлекать несколько свойств из объекта или массива более лаконичным способом.
let person = { firstName: "John", lastName: "Doe" };
let { firstName, lastName } = person;7. Значения по умолчанию, Rest и Spread
ES5: Управление значениями по умолчанию, оставшимися значениями или значениями распространения выполнялось вручную.
ES6: Значения по умолчанию для параметров функции, параметр ...отдых Для сбора аргументов и оператора ...распространение Введено для расширения массива или объекта.
8. Модули
ES5: Собственная модульная система отсутствовала. Разработчики использовали сторонние решения, такие как CommonJS или AMD.
ES6: Собственная модульная система с использованием импорт и экспорт Представлено.
9. Обещания
ES5: Для асинхронных операций использовались обратные вызовы.
ES6: Были введены обещания для более структурированного управления асинхронными операциями.
10. цикл for-of
ES5: Для перебора массивов используйте циклы. для Или forEach Его использовали.
ES6: Кольцо для-из Он был введен для итерации итерируемых объектов.
Набор, Карта, СлабыйНабор, СлабаяКарта 11
ES5: Прямого эквивалента не было.
ES6: Эти типы коллекций были введены для управления данными.
12. Тип символа
ES5: Ничего подобного не было.
ES6: Тип Символ Введено для создания уникальных идентификаторов.
13. Методы массивов и объектов
ES5: Ограниченный набор методов.
ES6: Новые методы, такие как Массив.из, Массив.из, Объект.назначить И многие другие были представлены.
14. Управление параметрами
ES5: Параметры с использованием объекта аргументы Доступ был предоставлен.
ES6: Прямая поддержка управления параметрами с использованием отдых, по умолчанию и распространение.
Результат
Это сравнение высокого уровня. Переход с ES5 на ES6 принёс множество изменений и улучшений, значительно обогативших язык JavaScript. Со временем, в последующих версиях (таких как ES7/ES2016 и более поздних) в язык было добавлено больше возможностей.









