Pull to refresh

Microsoft поддерживает добавление в JavaScript необязательного и стираемого синтаксиса типов

Reading time2 min
Views4.7K

Microsoft поддержала предложение добавить в JavaScript необязательный и стираемый синтаксис типов, чтобы сделать язык TypeScript быстрее и проще в использовании.

В новом сообщении в блоге софтверный гигант предоставил дополнительную информацию об этом предложении и о том, каковы его цели. По сути, предложение требует добавления аннотаций типов в код JavaScript, которые могут быть проверены внешними средствами проверки типов и обработаны как комментарии движком JavaScript во время выполнения.

В рамках предложения также необходимо создать набор синтаксиса для типов, которые движки будут игнорировать, но смогут использовать TypeScript, Flow и другие инструменты. Если предложение будет одобрено, разработчики смогут запускать программы на TypeScript, Flow и других языках. 

Новое предложение выдвинули Гил Тайар, Даниэль Розенвассер из Microsoft, Ромуло Синтра из Igalia и Роб Палмер из Bloomberg. Его опубликовали на GitHub. В этом месяце команда представит свое предложение комитету по стандартам ECMAScript.

Авторы идеи заявили, что за последнее десятилетие статическая проверка типов оказалась довольно успешной. В дополнение к TypeScript от Microsoft, Google создал свой Closure Compiler, а Facebook представил Flow. Статическая типизация была признана функцией номер один, отсутствующей в языке программирования. 69% респондентов в опросе State of JavaScript 2021 года заявили, что они используют TypeScript для компиляции JavaScript.

Стоит отметить, что Microsoft не призывает добавлять проверку типов TypeScript в каждый браузер и среду выполнения JavaScript. Вместо этого компания предложила синтаксис JavaScript, совместимый с TypeScript, который может использоваться любым средством проверки типов, но при этом игнорироваться механизмами JavaScript. Чтобы это произошло, в JavaScript минимально потребуется добавить синтаксис для таких вещей, как аннотации типов для переменных и функций, модификаторы опциональности для параметров и членов класса, объявления типов (интерфейсы и псевдонимы типов) и операторы утверждения типа — все это не повлияет на выполнение кода. Такие функции, как модификаторы видимости (например, общедоступные, частные и защищенные), могут быть предложены как отдельные функции ECMAScript.

Tags:
Hubs:
+9
Comments3

Other news