Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 12703|Відповідь: 1

[JavaScript] ES5, ES6, ES2016, ES. Далі: Що відбувається з версією Javascrip{filter}t?

[Копіювати посилання]
Опубліковано 18.04.2017 11:25:10 | | | |
Javascrip{filter}t має дуже дивну історію іменування.
Вперше він був випущений у 1995 році як частина Netscape Navigator, який дав новій мові назву Livescrip{filtering}t. Через рік, щоб встигнути на медіа-ажіотаж навколо Java того часу, назву тимчасово змінили на Javascrip{filtering}t (звісно, взаємозв'язок між Java та Javascrip{filtering}t такий самий, як між Lei Feng і Lei Feng Tower — це не має до цього жодного стосунку)

Жарт про кривий горіх зовсім не смішний
Примітка перекладача: Стаття Javascrip{filter}t у Вікіпедії детальніше описує цю історію
У 1996 році Netscape подала Javascrip{filtering}t до ECMA International (Європейська асоціація виробників комп'ютерів) для стандартизації і нарешті затвердила новий мовний стандарт — ECMAscrip{filtering}t. Відтоді ECMAscrip{filtering}t став основою для всіх реалізацій Javascrip{filtering}t, хоча з історичних і ринкових причин (очевидно, назва ECMAscrip{filtering}t не є привабливою...... Насправді ми використовуємо лише ECMAscrip{filter}t для виклику стандарту, і зазвичай використовуємо Javascrip{filter}t для виклику цієї мови.
Термінологія:
  • Стандарт: Набір правил, які визначають, що відрізняє його від інших речей.
  • Впровадження: Конкретна реалізація/реальна практика стандарту
Однак розробники Javascrip{filtering}t не дуже переймаються цим, оскільки ECMAscrip{filtering}t майже не змінився за 15 років з моменту свого створення, а багато реальних реалізацій вже суттєво відрізняються від стандарту. Насправді, після виходу першої версії ECMAscrip{filtering}t незабаром після цього було випущено ще дві версії, але з моменту виходу ECMAscrip{filter}t 3 у 1999 році жодних змін до офіційної специфікації не було успішно внесено протягом десяти років. Натомість виробники браузерів поспішно розширюють власні мови, залишаючи веб-розробників без вибору, окрім як експериментувати та підтримувати ці API. Навіть після виходу ECMAscrip{filter}t 5 у 2009 році знадобилося кілька років, щоб ці нові специфікації отримали широку підтримку браузерами, але більшість розробників все одно писали код у стилі ECMAscrip{filtering}t 3 і не відчували потреби їх вивчати.
Примітка перекладача: Чернетка ECMAscrip{filter}t версії 4 була відкинута через надто агресивну роботу, а Actionscrip{filtering}t 3.0 від Adobe є єдиною реалізацією ECMAscrip{filtering}t edition 4 (Flash майже об'єднав веб)
До 2012 року ситуація раптово почала змінюватися. Підтримують старіші версії IE, і більш реалістично писати код у стилі ECMAscrip{filter}t 5 (ES5). Водночас запускається нова специфікація ECMAscrip{filtering}t. На цьому етапі люди почали звикати описувати різні реалізації Javascrip{filtering}t з точки зору підтримки версій специфікації ECMAscrip{filter}t. Цей новий стандарт спочатку називався ES. Гармонія. У 2015 році TC39, комітет, відповідальний за розробку проєкту специфікації ECMAscrip{filter}t, вирішив змінити систему визначення нових стандартів на раз на рік, що означає, що кожну нову функцію можна додати після затвердження, на відміну від того, що попередня специфікація була завершена лише після завершення всього проєкту і отримання всіх функцій у порядку. Внаслідок цього ECMAscrip{filtering}t версії 6 було перейменовано на ECMAscrip{filtering}t 2015 (ES2015) до публікації в червні.
Все ще пропонується багато нових функцій або синтаксису Javascrip{filter}t, включно з декораторами, async-await та статичними властивостями класів. Їх часто називають ES7, ES2016 або ES. Далі, але насправді їх можна назвати лише пропозиціями або можливостями, адже специфікація ES2016 ще не завершена, і можливо, що всі вони будуть представлені, або жодна з них не буде представлена. TC39 поділяє пропозицію на 4 етапи, і ви можете перевірити, на якій стадії кожна пропозиція зараз перебуває, на сайті Babel.
Отже, як нам використати цю купу термінології? Наступний список може вам допомогти:
  • ECMAscrip{filter}t: Мова, стандартизована ECMA International і контрольована комітетом TC39. Часто використовується для позначення самого стандарту.
  • Javascrip{filtering}t: Найпоширеніша назва для різних реалізацій стандарту ECMAscrip{filtering}t. Цей термін не обмежується конкретною версією специфікації ECMAscrip{filtering}t і може використовуватися для будь-якого різного ступеня реалізації будь-якої версії ECMAscrip{filtering}t.
  • ECMAscrip{filtering}t 5 (ES5): П'яте видання ECMAscrip{filtering}t, стандартизоване у 2009 році. Ця специфікація досить повністю реалізована у всіх сучасних браузерах.
  • ECMAscrip{filter}t 6 (ES6) / ECMAscrip{filter}t 2015 (ES2015): Шосте видання ECMAscrip{filtering}t було переглянуто та стандартизовано у 2015 році. Цей стандарт частково реалізований у більшості сучасних браузерів. Ви можете переглянути цю таблицю сумісності, щоб побачити, як реалізовані різні браузери та інструменти.
  • ECMAscrip{filter}t 2016: Очікуване сьоме видання ECMAscrip{filter}t, заплановане до виходу наступного літа. Конкретні функції, які будуть включені до цієї специфікації, ще не остаточно визначені
  • Пропозиції ECMAscrip{filter}t: Пропозиції щодо функцій і синтаксису, які розглядатимуться для включення до майбутніх версій стандарту ECMAscrip{filter}t, проходять п'ять етапів: Strawman, Proposal, Draft, Candidate та Completed.
У цьому блозі я називатиму поточну версію ECMAscrip{filtering}t ES6 (бо саме до неї звикли більшість розробників), специфікацію наступного року — ES2016 (оскільки, на відміну від ES6/ES2015, ця назва використовуватиметься протягом усього процесу стандартизації), а також майбутні мовні концепції, які ще не остаточно визначені або не розроблені ECMAscrip{filtering}t пропозиції чи Javascrip{filter}t proposal. Я зроблю все можливе, щоб слідкувати за цією статтею у будь-який випадок, який може викликати плутанину.




Попередній:.net/c# Інструмент північного напрямку інтерфейсу Huawei IoT-Connection Management Platform
Наступний:.net/C# використовує атрибути для реалізації простого AOP
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com