ES6, ES8, ES2017: що таке ECMAScript і чим це відрізняється від JavaScript


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Вивчення JavaScript може збити з пантелику по безлічі причин, і одна з них – акроніми. Щоб не дати скороченням збити вас з пантелику, в цій статті ми розберемо їх значення і історію виникнення.

Що таке ECMAScript?

Спочатку трохи історії. JavaScript створювався як скриптова мова для Netscape. Після чого вона була відправлена до ECMA International для стандартизації (ECMA – це асоціація, діяльність якої присвячена стандартизації інформаційних і комунікаційних технологій). Це привело до появи нового мовного стандарту, відомого як ECMAScript.

Подальші версії JavaScript вже були грунтовані на стандарті ECMAScript. Простіше кажучи, ECMAScript – стандарт, а JavaScript – найпопулярніша реалізація цього стандарту.

Що таке ES? Історія версій

ES – це просто скорочення для ECMAScript. Кожне видання ECMAScript отримує абревіатуру ES з подальшим його номером. Всього існує 8 версій ECMAScript. ES1 була випущена в червні 1997 року, ES2 – в червні 1998 року, ES3 – в грудні 1999 року, а версія ES4 – так і не була прийнята. Не поглиблюватимемося в ці версії, оскільки вони морально застаріли, а розглянемо тільки останні чотири.

ES5 був випущений в грудні 2009 року, через 10 років після виходу третього видання. Серед змін можна відмітити:

  • підтримку строгого режиму (strict mode);
  • аксесори getters і setters;
  • можливість використати зарезервовані слова в якості ключів властивостей і ставити коми у кінці масиву;
  • багаторядкові строкові літерали;
  • нову функціональність в стандартній бібліотеці;
  • підтримку JSON.

Версія ES6/ES2015 вийшла в червні 2015 року. Це також принесло деяку плутанину у зв’язку з назвою пакету, адже ES6 і ES2015 – це одно і те ж. З виходом цього пакету оновлень комітет прийняв рішення перейти до щорічних оновлень. Тому видання було перейменоване в ES2015, щоб відбивати рік релізу. Подальші версії також називаються відповідно до року їх випуску. У цьому оновленні були зроблені наступні зміни:

  • додано деструктурируючи привласнення;
  • додані стрілочні функції;
  • у шаблонних рядках можна оголошувати рядки з допомогою ' (зворотних лапок). Шаблонні рядки можуть бути багаторядковими, також можуть інтерполюватися;
  • let і const – альтернативи var для оголошення змінних. Додана “часова мертва зона”;
  • ітератор і протокол ітерації тепер визначають спосіб перебору будь-якого об’єкту, а не тільки масивів. Symbol використовується для привласнення ітератора до будь-якого об’єкту;
  • додані функції-генератори. Вони використовують yield для створення послідовності елементів. Функції-генератори можуть використати yield* для делегування в іншу функцію генератора, окрім цього вони можуть повертати об’єкт генератора, який реалізує обидва протоколи;
  • додані промиси.

Примітка Детальніше про зміни в ES6 можна подивитися в нашій статтях “Що і як в ES6: хитрощі, кращі практики і приклади. Частина перша” і “Що і як в ES6: хитрощі, кращі практики і приклади. Частина друга”.

ES2016 (ES7) вийшла в червні 2016 року. Серед змін в цій версії ECMAScript можна відмітити:

  • оператор возведення в степень **;
  • метод Array.prototype.includes, який перевіряє, чи міститься переданий аргумент в масиві.

Опісля ще рік виходить версія ES2017 (ES8). Цей стандарт отримав наступні зміни:

  • асинхронність тепер офіційно підтримується (async/await);
  • “висячі” коми в параметрах функцій. Додана можливість ставити коми у кінці списку аргументів функцій;
  • додано два нові методи для роботи з рядками: padStart () і padEnd (). Метод padStart () підставляє додаткові символи ліворуч, перед початком рядка. А padEnd (), у свою чергу, справа, після кінця рядка;
  • додана функція Object.getOwnPropertyDescriptors (), яка повертає масив з дескрипторами усіх власних властивостей об’єкту;
  • додано розділення пам’яті і об’єкт Atomics.

Що ж до ES.Next, то цей термін є динамічним і автоматично посилається на нову версію ECMAScript. Варто відмітити, що кожна нова версія приносить нові функції для мови.

Висновки

  • ECMAscript виходить щорічно;
  • перші пакети оновлення називалися ES1, ES2, ES3, ES4, ES5;
  • нові випуски (починаючи з 2015 року) дістали назву ES2015, ES2016, ES2017 (абревіатура ES + рік випуску);
  • ECMAScript є стандартом, а JavaScript – це найпопулярніша реалізація цього стандарту. Серед інших реалізацій можна відмітити SpiderMonkey, V8 і ActionScript.

Переклад статті “JavaScript – WTF is ES6, ES8, ES 2017, ECMAScript. “?

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *