
Дізнайтесь більше про нові кар'єрні можливості в 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?