Microsoft, Igalia і Bloomberg пропонують включити синтаксис для визначення в JS 

Microsoft, Igalia і Bloomberg Про це вони заявили кілька днів тому взяли на себе ініціативу включити синтаксис для явного визначення типу в специфікації JavaScript, схожий на синтаксис, що використовується в мові TypeScript.

Наразі зміни прототипу, запропоновані для включення до стандарту ECMAScript, подано на попереднє обговорення (етап 0).

Сьогодні ми раді оголосити про нашу підтримку та співпрацю над новою пропозицією Stage 0, яка внесе необов’язковий і стираний синтаксис типу в JavaScript. Оскільки цей новий синтаксис не змінить спосіб виконання навколишнього коду, вони ефективно діятимуть як коментарі. Ми вважаємо, що це може зробити TypeScript простішим і швидшим у розробці в будь-яких масштабах. Ми хотіли б поговорити про те, чому ми цього робимо і як ця пропозиція працює на високому рівні.

Згадується, що на tНаявність чіткої інформації про тип запобіжить багато помилок у процесі розробки, це надасть можливість використовувати додаткові методи оптимізації, спростить налагодження та зробить код більш читабельним і легшим для модифікації та підтримки сторонніх розробників.

Крім того пропонується реалізувати підтримку типів як додаткову функцію: Механізми JavaScript і середовища виконання, які не підтримують перевірку типів, ігнорують анотації з інформацією про тип і оброблятимуть код, як і раніше, сприймаючи дані типу як коментарі. Але інструменти перевірки типів зможуть на основі наявної інформації виявити помилки, пов’язані з неправильним використанням типів.

Фон
Нещодавня тенденція, яку наша команда помітила у світі JavaScript, — це потреба в більш швидкому часі ітерації та скороченні кроків збірки. Іншими словами, «зроби це швидше і простіше».

У певному сенсі це вже відбувається. Завдяки успіху вічнозелених браузерів розробники часто можуть уникати компіляції новіших версій JavaScript для запуску на старих середовищах виконання. Певною мірою те саме стосується і групування: більшість браузерів мають вбудовану підтримку використання модулів, тому групування можна розглядати як крок оптимізації, а не як необхідність. Це все частіше відбувається, тож як TypeScript витримує?

Водночас на відміну від зазначеної інформації про тип через анотації JSDoc, зазначені як коментарі, пряма специфікація типів безпосередньо в конструкціях визначення змінних це зробить код більш наочним, зрозумілим і легшим для редагування.

Наприклад, IDE з підтримкою TypeScript зможуть відразу виділяти помилки в написаному коді JavaScript без додаткових трансформацій. Крім того, вбудована підтримка типів дозволить запускати програми, написані на діалектах JavaScript із сценарієм, як-от TypeScript і Flow, без транспіляції з однієї мови на іншу.

З типів пропонується додати «рядок», «число» та «логічний», які можна використовувати при визначенні змінних, параметрів функцій, елементів об’єктів, полів класів, типізованих масивів («число[]»). Також пропонується забезпечити підтримку змішаних типів («рядок | число») і генериків.

Враховуючи все це, ми плануємо представити цю пропозицію для етапу 1 на наступному пленарному засіданні TC2022 у березні 39 року. Ми зробимо це за підтримки та керівництва наших співчемпіонів цієї пропозиції, Роба Палмера з Bloomberg і Ромуло Сінтри з Igalia.

Досягнення етапу 1 означатиме, що комітет зі стандартів вважає, що синтаксис сумісного типу для ECMAScript заслуговує на увагу. Це неоднозначно: у комітеті є багато цінних точок зору, і ми очікуємо певної частки скептицизму. Така пропозиція отримає багато коментарів і належного розгляду. Попутно це може включати багато змін дизайну, і для отримання результату можуть знадобитися роки.

на наступній зустрічі березня комітету ТК39 планується перейти до першого етапу розгляд пропозиції за участю експертної спільноти ECMA.

В кінці кінців Якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі в наступне посилання.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.