~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ CCDD825A1D7D85A5399EA10D163176AB__1714840380 ✰
Заголовок документа оригинал.:
✰ TypeScript - Wikipedia ✰
Заголовок документа перевод.:
✰ TypeScript — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/TypeScript ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/cc/ab/ccdd825a1d7d85a5399ea10d163176ab.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/cc/ab/ccdd825a1d7d85a5399ea10d163176ab__translat.html ✰
Дата и время сохранения документа:
✰ 11.06.2024 06:07:34 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 4 May 2024, at 19:33 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

TypeScript — Википедия Jump to content

Машинопись

Из Википедии, бесплатной энциклопедии

Машинопись
Парадигма Мультипарадигмальность : функциональная , универсальная , императивная , объектно-ориентированная.
Разработано Майкрософт
Разработчик Майкрософт
Впервые появился 1 октября 2012 г .; 11 лет назад ( 01.10.2012 ) [1]
Стабильная версия
5.4.2 [2]  Отредактируйте это в Викиданных/ 6 марта 2024 г .; 3 месяца назад ( 6 марта 2024 г. )
Дисциплина набора текста Утка , постепенный , структурный [3]
Лицензия Лицензия Апач 2.0
Расширения имен файлов .ts, .tsx, .mts, .cts
Веб-сайт www .typescriptlang .org
Под влиянием
С# , Ф# , [4] Java , JavaScript , ActionScript [5]
Под влиянием
AtScript , Ассемблер , АркТС

TypeScript — это с открытым исходным кодом, высокого уровня бесплатный язык программирования разработанный Microsoft , который добавляет статическую типизацию с необязательными аннотациями в JavaScript типов . Он предназначен для разработки больших приложений и транслируется в JavaScript. [6] Поскольку TypeScript является надмножеством JavaScript, все программы JavaScript являются синтаксически допустимыми TypeScript, но в них может не выполняться проверка типов по соображениям безопасности .

TypeScript можно использовать для разработки приложений JavaScript для выполнения как на стороне клиента , так и на стороне сервера (как в случае с Node.js , Deno или Bun ). Для транспиляции доступно несколько вариантов. Можно использовать компилятор TypeScript по умолчанию, [7] или Babel можно вызвать компилятор для преобразования TypeScript в JavaScript.

TypeScript поддерживает файлы определений, которые могут содержать информацию о типах существующих библиотек JavaScript , подобно тому, как C++ файлы заголовков могут описывать структуру существующих объектных файлов . Это позволяет другим программам использовать значения, определенные в файлах, как если бы они были статически типизированными объектами TypeScript. Существуют сторонние заголовочные файлы для популярных библиотек, таких jQuery , MongoDB и D3.js. как заголовки TypeScript для модулей библиотеки Node.js , что позволяет разрабатывать программы Node.js внутри TypeScript. Также доступны [8]

Компилятор TypeScript сам написан на TypeScript и скомпилирован в JavaScript. Он распространяется по лицензии Apache License 2.0 . Андерс Хейлсберг , ведущий архитектор C# и создатель Delphi и Turbo Pascal , работал над разработкой TypeScript. [9] [10] [11] [12]

История [ править ]

TypeScript был выпущен для широкой публики в октябре 2012 года в версии 0.8 после двух лет внутренней разработки в Microsoft. [13] [14] Вскоре после первого публичного выпуска Мигель де Икаса похвалил сам язык, но раскритиковал отсутствие зрелой поддержки IDE, за исключением Microsoft Visual Studio не была доступна в Linux и OS X. , которая в то время [15] [16] По состоянию на апрель 2021 года имеется поддержка в других IDE и текстовых редакторах, включая Emacs , Vim , WebStorm , Atom. [17] от Microsoft и собственный код Visual Studio . [18] В TypeScript 0.9, выпущенном в 2013 году, добавлена ​​поддержка дженериков . [19]

TypeScript 1.0 был представлен на конференции разработчиков Microsoft Build в 2014 году. [20] Обновление 2 для Visual Studio 2013 обеспечивает встроенную поддержку TypeScript. [21] Дальнейшие улучшения были внесены в июле 2014 года, когда команда разработчиков анонсировала новый компилятор TypeScript, производительность которого, как утверждается, увеличилась в пять раз. Одновременно с этим исходный код, который изначально размещался на CodePlex , был перенесен на GitHub . [22]

22 сентября 2016 года был выпущен TypeScript 2.0, в котором было представлено несколько функций, в том числе возможность для программистов опционально обеспечивать нулевую безопасность . [23] чтобы смягчить то, что иногда называют ошибкой на миллиард долларов .

TypeScript 3.0 был выпущен 30 июля 2018 г. [24] добавление множества языковых дополнений, таких как кортежи в остальных параметрах и выражениях распространения, остальные параметры с типами кортежей, общие параметры отдыха и т. д. [25]

TypeScript 4.0 был выпущен 20 августа 2020 года. [26] Хотя версия 4.0 не внесла каких-либо критических изменений, в нее были добавлены такие языковые функции, как пользовательские фабрики JSX и типы Variadic Tuple. [26]

TypeScript 5.0 был выпущен 16 марта 2023 года и включал поддержку декораторов. [27]

Дизайн [ править ]

TypeScript возник из-за недостатков JavaScript для разработки крупномасштабных приложений как в Microsoft, так и среди их внешних клиентов. [28] Проблемы, связанные с работой со сложным кодом JavaScript, привели к появлению спроса на специальные инструменты, упрощающие разработку компонентов на языке. [29]

Разработчики TypeScript искали решение, которое не нарушило бы совместимость со стандартом и его кроссплатформенную поддержку. Зная, что текущее предложение стандарта ECMAScript обещает будущую поддержку программирования на основе классов , TypeScript был основан на этом предложении. Это привело к созданию компилятора JavaScript с набором синтаксических расширений языка, расширенного набора, основанного на предложении, который преобразует расширения в обычный JavaScript. В этом смысле функция класса TypeScript была предварительным просмотром того, чего ожидать от ECMAScript 2015. Уникальным аспектом, которого нет в предложении, но добавлен в TypeScript, является необязательная статическая типизация (также известная как постепенная типизация ), которая позволяет статическому анализу языка облегчить инструментарий и поддержку IDE.

Поддержка ECMAScript 2015 [ править ]

TypeScript добавляет поддержку таких функций, как классы, модули и синтаксис стрелочных функций, как определено в стандарте ECMAScript 2015.

Особенности [ править ]

TypeScript — это расширение языка, которое добавляет функции в ECMAScript 6. Дополнительные функции включают в себя:

Следующие функции перенесены из ECMAScript 2015:

Синтаксически TypeScript очень похож на JScript .NET , еще одну реализацию Microsoft языкового стандарта ECMA-262, в которой добавлена ​​поддержка статической типизации и классических функций объектно-ориентированного языка, таких как классы, наследование, интерфейсы и пространства имен.

Совместимость с JavaScript [ править ]

TypeScript — это строгий расширенный набор ECMAScript 2015, который сам по себе является расширенным набором ECMAScript 5, обычно называемого JavaScript. [32] Таким образом, программа JavaScript также является допустимой программой TypeScript, и программа TypeScript может беспрепятственно использовать JavaScript. По умолчанию компилятор ориентирован на ECMAScript 5, текущий преобладающий стандарт, но также может генерировать конструкции, используемые в ECMAScript 3 или 2015.

С помощью TypeScript можно использовать существующий код JavaScript, включать популярные библиотеки JavaScript и вызывать код, сгенерированный TypeScript, из другого JavaScript. [33] Объявления типов для этих библиотек предоставляются вместе с исходным кодом.

Введите аннотации [ править ]

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

функция   add  (  слева  :   число  ,   справа  :   число  )  :   число   { 
	 возврат   влево   +   вправо  ; 
  } 

Примитивные типы аннотируются с использованием типов number, boolean, и string. Эти типы отличаются от своих аналогов класса ( Number, Booleanи т. д.), которые не могут выполнять операции непосредственно со значениями. Например, Number и numberдобавить нельзя. Дополнительно есть undefined и null типы для соответствующих значений.

Все остальные типы аннотируются с использованием имени класса, а не примитивов, например Error. Массивы можно записать двумя разными способами, которые синтаксически одинаковы: синтаксис на основе обобщения. Array<T> и сокращение с T[].

Дополнительные встроенные типы данных — это кортежи, объединения, never и any:

  • Массив с предопределенными типами данных по каждому индексу представляет собой кортеж, представленный как [type1, type2, ..., typeN].
  • Переменная, которая может содержать более одного типа данных, представляет собой объединение, представленное с помощью логического ИЛИ. | символ ( string | number).
  • The never type используется, когда создание данного типа невозможно, что полезно для фильтрации отображаемых типов.
  • Значение типа any поддерживает те же операции, что и значение в JavaScript, и выполняется минимальная проверка статического типа, [34] что делает его подходящим для слабо или динамически типизированных структур, хотя обычно это не рекомендуется. [35]

Аннотации типов можно экспортировать в отдельный файл объявлений, чтобы сделать информацию о типе доступной для сценариев TypeScript, использующих типы, уже скомпилированные в JavaScript. Аннотации можно объявить для существующей библиотеки JavaScript, как это было сделано для Node.js и jQuery .

Компилятор TypeScript использует вывод типа для вывода типов, когда типы не заданы. Например, add метод в приведенном выше коде будет считаться возвращающим numberдаже если аннотация типа возвращаемого значения не была предоставлена. Это основано на статических типах left и right существование numbers, и знание компилятором, что результат сложения двух numbers всегда number. Однако явное объявление возвращаемого типа позволяет компилятору проверить правильность.

Если ни один тип не может быть выведен из-за отсутствия объявлений (например, в модуле JavaScript без типов), то по умолчанию используется динамический тип. anyтип. Дополнительные типы модулей могут быть предоставлены с помощью файла объявления .d.ts с помощью declare module "moduleName" синтаксис.

Файлы деклараций [ править ]

Когда скрипт TypeScript компилируется, появляется возможность сгенерировать файл объявления (с расширением .d.ts), который функционирует как интерфейс для компонентов скомпилированного JavaScript. При этом компилятор удаляет все тела функций и методов и сохраняет только сигнатуры экспортируемых типов. Полученный файл объявления затем можно использовать для описания экспортированных виртуальных типов TypeScript библиотеки или модуля JavaScript, когда сторонний разработчик использует его из TypeScript.

Концепция файлов объявлений аналогична концепции файлов заголовков в C/C++ .

объявить   пространство имен   Арифметика   { 
     add  (  слева  :   число  ,   справа  :   число  )  :   число  ; 
      вычесть  (  слева  :   число  ,   справа  :   число  )  :   число  ; 
      умножить  (  слева  :   число  ,   справа  :   число  )  :   число  ; 
      разделить  (  слева  :   число  ,   справа  :   число  )  :   число  ; 
  } 

Файлы объявлений типов можно написать вручную для существующих библиотек JavaScript, как это было сделано для jQuery и Node.js.

Большие коллекции файлов объявлений для популярных библиотек JavaScript размещены на GitHub в DefinitelyTyped .

Дженерики [ править ]

TypeScript поддерживает универсальное программирование с использованием синтаксиса, аналогичного Java . [36] Ниже приведен пример функции идентичности . [37]

 функции  идентификатор  <  Т  >  (  Икс  :   Т  )  :   Т   { 
     возврат   х  ; 
  } 

Классы [ править ]

TypeScript использует тот же стиль аннотаций для методов и полей класса, что и для функций и переменных соответственно. По сравнению с обычными классами JavaScript, класс TypeScript также может реализовывать интерфейс через implements ключевое слово, используйте общие параметры аналогично Java и укажите общедоступные и частные поля.

класс   Person   { 
     частное   имя  :   строка  ; 
      личный   возраст  :   номер  ; 
      частная   зарплата  :   число  ; 

      конструктор  (  имя  :   строка  ,   возраст  :   число  ,   зарплата  :   число  )   { 
         this  .   имя   =   имя  ; 
          этот  .   возраст   =   возраст  ; 
          этот  .   зарплата   =   зарплата  ; 
      } 

     toString  ()  :   строка   { 
         return   `  $ {  this  .   имя  }  (  ${  this  .  age  }  ) (  ${  this  .  зарплата  }  )`  ; 
      } 
 } 

Типы союзов [ править ]

Типы объединения поддерживаются в TypeScript. [38] Значения неявно «помечены» типом языка и могут быть получены с помощью typeof призывать к примитивным ценностям и instanceofсравнение сложных типов данных. Типы с перекрывающимся использованием (например, метод среза существует как для строк, так и для массивов, оператор плюс работает как со строками, так и с числами) не требуют дополнительного сужения для использования этих функций.

 функции  преемник  (  n  :   число   |   bigint  )  :   число   |    bigint   { 
     // типы, поддерживающие одни и те же операции, не нуждаются в сужении 
     return   ++  n  ; 
  } 

 function   dependOnParameter  (  v  :   string   |   Array  <  string  >   |   Number  )   { 
     // отдельные типы необходимо сузить 
     if   (  v   instanceof   Array  )   { 
         // сделать что-нибудь 
     }   else   if   (  typeof  (  v  )   ===   "string"  )   { 
         / / сделать что-нибудь еще 
     }   else   { 
         // должно быть числом 
     } 
 } 

Перечислимые типы [ править ]

TypeScript добавляет в JavaScript тип данных enum.

enum   Cardsuit   {  Трефы  ,   Бубны  ,   Червы  ,   Пики  }; 
  var   c  :   Cardsuit   =   Cardsuit  .   Бриллианты  ; 

По умолчанию члены перечисления нумеруются, начиная с 0; это можно переопределить, установив значение первого:

enum   Cardsuit   {  Трефы   =   1  ,   Бубны  ,   Червы  ,   Пики  }; 
  var   c  :   Cardsuit   =   Cardsuit  .   Бриллианты  ; 

Все значения могут быть установлены:

enum   Cardsuit   {  Трефы   =   1  ,   Бубны   =   2  ,   Червы   =   4  ,   Пики   =   8  }; 
  var   c  :   Cardsuit   =   Cardsuit  .   Бриллианты  ; 

TypeScript поддерживает сопоставление числового значения с его именем. Например, это находит имя значения 2:

enum   Cardsuit   {  Трефы   =   1  ,   Бубны  ,   Червы  ,   Пики  }; 
  varsuitName   :  =   string   Cardsuit   [  ]  2  ; 

  оповещение  (  имя костюма  ); 

Модули и пространства имен [ править ]

TypeScript различает модули и пространства имен. Обе функции TypeScript поддерживают инкапсуляцию классов, интерфейсов, функций и переменных в контейнеры. Пространства имен (ранее внутренние модули) используют выражения функций, вызываемые немедленно в JavaScript , для инкапсуляции кода, тогда как модули (ранее внешние модули) используют для этого шаблоны библиотеки JavaScript ( AMD или CommonJS ). [39]

Инструменты разработки [ править ]

Компилятор [ править ]

Компилятор TypeScript под названием tsc, написан на TypeScript . В результате его можно скомпилировать в обычный JavaScript и затем выполнить в любом движке JavaScript (например, в браузере). Пакет компилятора поставляется в комплекте с хостом сценариев, который может выполнять компилятор. Он также доступен в виде пакета Node.js , который использует Node.js в качестве хоста.

Компилятор может «нацеливать» конкретную версию ECMAScript (например, ES5 для совместимости с устаревшими браузерами), но по умолчанию компилируется до последней версии.

Поддержка IDE и редактора [ править ]

  • Microsoft предоставляет плагин для Visual Studio 2012 и WebMatrix , полную интегрированную поддержку в Visual Studio 2013 , Visual Studio 2015 , а также базовую поддержку текстовых редакторов для Emacs и Vim . [40]
  • Visual Studio Code поддерживает TypeScript в дополнение к нескольким другим языкам и предлагает такие функции, как отладка и интеллектуальное завершение кода .
  • alm.tools — это облачная IDE с открытым исходным кодом для TypeScript, созданная с использованием TypeScript, ReactJS и TypeStyle.
  • JetBrains поддерживает TypeScript с завершением кода, рефакторингом и отладкой в ​​своих IDE, построенных на платформе IntelliJ, таких как PhpStorm 6, WebStorm 6 и IntelliJ IDEA . [41] а также надстройка и расширение Visual Studio ReSharper 8.1. [42] [43]
  • У Atom есть плагин TypeScript с поддержкой автодополнения кода, навигации, форматирования и быстрой компиляции. [44]
  • Онлайн-среда Cloud9 IDE и Codenvy поддерживают TypeScript.
  • доступен плагин Для среды IDE NetBeans .
  • Доступен плагин для Eclipse IDE (версия Kepler).
  • TypeEcs доступен для Eclipse IDE .
  • Кроссплатформенная облачная IDE Codeanywhere поддерживает TypeScript.
  • Webclipse Плагин Eclipse, предназначенный для разработки TypeScript и Angular 2 .
  • Angular IDE Автономная IDE, доступная через npm для разработки приложений TypeScript и Angular 2, со встроенной поддержкой терминала.
  • Tide — интерактивная среда разработки TypeScript для Emacs .

Интеграция с инструментами автоматизации сборки [ править ]

С помощью плагинов TypeScript можно интегрировать со средствами автоматизации сборки , включая Grunt (grunt-ts [45] ), Apache Maven (плагин TypeScript Maven [46] ), Gulp (gulp-typescript [47] ) и Gradle (плагин TypeScript Gradle [48] ).

Инструменты для линтинга [ править ]

ТСЛинт [49] сканирует код TypeScript на соответствие набору стандартов и рекомендаций. ESLint , стандартный линтер JavaScript, также обеспечивает некоторую поддержку TypeScript через плагины сообщества. Однако неспособность ESLint использовать языковые службы TypeScript препятствовала определенным формам семантического анализа и общепрограммного анализа. [50] В начале 2019 года команда TSLint объявила об отказе от поддержки линтера в пользу typescript-eslint, совместная работа команд TSLint, ESLint и TypeScript по консолидации линтинга под эгидой ESLint для повышения производительности, единства сообщества и доступности для разработчиков. [51]

Поставщик CodeDOM [ править ]

КодDOM [52] предоставляет типы, которые представляют общие типы элементов исходного кода, которые будут преобразованы в типы данных, классы, операторы и т. д. языка программирования через CodeDOMProvider. [53] Программисты используют CodeDOM и поставщик CodeDOM для создания генератора кода, который генерирует коды для домена приложения. Поставщик CodeDOM TypeScript [54] генерирует коды TypeScript в соответствии с CodeDOM.

История выпусков [ править ]

Номер версии Дата выпуска Значительные изменения
0.8 1 октября 2012 г. ( 01.10.2012 )
0.9 18 июня 2013 г. ( 18.06.2013 )
1.0 12 апреля 2014 г. ( 12.04.2014 )
1.1 6 октября 2014 г. ( 06.10.2014 ) улучшения производительности
1.3 12 ноября 2014 г. ( 12.11.2014 ) protected модификатор, типы кортежей
1.4 20 января 2015 г. ( 20 января 2015 г. ) типы объединений , let и const объявления, строки шаблонов, защита типов, псевдонимы типов
1.5 20 июля 2015 г. ( 20 июля 2015 г. ) модули ES6, namespace ключевое слово, for..of поддержка, декораторы
1.6 16 сентября 2015 г. ( 16.09.2015 ) Поддержка JSX, типы пересечений , объявления локальных типов, абстрактные классы и методы, определяемые пользователем функции защиты типов.
1.7 30 ноября 2015 г. ( 30.11.2015 ) async и await поддерживать,
1.8 22 февраля 2016 г. ( 22 февраля 2016 г. ) дженерики ограничений, ошибки анализа потока управления, типы строковых литералов, allowJs
2.0 22 сентября 2016 г. ( 22 сентября 2016 г. ) типы, поддерживающие нулевые и неопределенные значения, анализ типов на основе потока управления, типы распознаваемых объединений, never тип, readonly ключевое слово, тип this для функций
2.1 8 ноября 2016 г. ( 08.11.2016 ) keyof и типы поиска, сопоставленные типы, распространение и отдых объектов,
2.2 22 февраля 2017 г. ( 22 февраля 2017 г. ) смешанные классы, object тип,
2.3 27 апреля 2017 г. ( 27.04.2017 ) async итерация, общие параметры по умолчанию, строгая опция
2.4 27 июня 2017 г. ( 27.06.2017 ) выражения динамического импорта, перечисления строк, улучшенный вывод для дженериков, строгая контравариантность для параметров обратного вызова
2.5 31 августа 2017 г. ( 31 августа 2017 г. ) необязательные переменные предложения catch
2.6 31 октября 2017 г. ( 31.10.2017 ) строгие типы функций
2.7 31 января 2018 г. ( 31.01.2018 ) свойства с постоянными именами, кортежи фиксированной длины
2.8 27 марта 2018 г. ( 27.03.2018 ) условные типы, улучшенные keyof с типами пересечений
2.9 14 мая 2018 г. ( 14 мая 2018 г. ) поддержка символов и числовых литералов в keyof и типы сопоставленных объектов
3.0 30 июля 2018 г. ( 30 июля 2018 г. ) ссылки на проекты, извлечение и распространение списков параметров с помощью кортежей
3.1 27 сентября 2018 г. ( 27.09.2018 ) отображаемые типы кортежей и массивов
3.2 30 ноября 2018 г. ( 30.11.2018 ) более строгая проверка на bind, call, и apply
3.3 31 января 2019 г. ( 31.01.2019 ) смягченные правила для методов типов объединения, инкрементные сборки для составных проектов
3.4 29 марта 2019 г. ( 29.03.2019 ) более быстрые инкрементные сборки, вывод типов из общих функций, readonly модификатор для массивов, const утверждения, глобальная проверка типов this
3.5 29 мая 2019 г. ( 29.05.2019 ) более быстрые инкрементные сборки, отсутствие вспомогательного типа, улучшенная проверка избыточных свойств в типах объединения, более умная проверка типов объединения
3.6 28 августа 2019 г. ( 28.08.2019 ) Более строгие генераторы, более точное распространение массива, лучшая поддержка Unicode для идентификаторов.
3.7 5 ноября 2019 г. ( 05.11.2019 ) Необязательное сцепление, нулевое объединение
3.8 20 февраля 2020 г. ( 20 февраля 2020 г. ) Импорт и экспорт только по типу, частные поля ECMAScript, верхний уровень await
3.9 12 мая 2020 г. ( 12.05.2020 ) Улучшения в выводе, улучшение скорости
4.0 20 августа 2020 г. ( 20.08.2020 ) Вариадические типы кортежей, помеченные элементы кортежа
4.1 19 ноября 2020 г. ( 19.11.2020 ) Типы литералов шаблона, переназначение ключей в отображаемых типах, рекурсивные условные типы
4.2 25 февраля 2021 г. ( 25 февраля 2021 г. ) Более разумное сохранение псевдонимов типов, ведущие и средние элементы в типах кортежей, более строгие проверки in оператор, abstract создавать подписи
4.3 26 мая 2021 г. ( 26 мая 2021 г. ) Отдельные типы записи для свойств, override и --noImplicitOverride флаг, улучшения типа строки шаблона
4.4 26 августа 2021 г. ( 26 августа 2021 г. ) Анализ потока управления псевдонимами условий и дискриминантов, сигнатур индексов шаблонов символов и строк шаблона
4.5 17 ноября 2021 г. ( 17.11.2021 ) Введите и обещайте улучшения, поддерживая библиотеки из node_modules, типы строк шаблона в качестве дискриминантов и es2022 модуль
4.6 28 февраля 2022 г. ( 28 февраля 2022 г. ) Улучшения вывода типов и проверок, поддержка цели ES2022, улучшенная обработка ECMAScript.
4.7 24 мая 2022 г. ( 24 мая 2022 г. ) Поддержка модулей ES, выражений создания экземпляров, аннотаций отклонений для параметров типа, улучшенных проверок потока управления и улучшений проверки типов.
4.8 25 августа 2022 г. ( 25 августа 2022 г. ) Улучшения типов пересечений и объединений, улучшенный вывод типов.
4.9 15 ноября 2022 г. ( 15.11.2022 ) satisfies оператор, автоматические методы доступа в классах (предложение), улучшения в сужении типов и проверках
5.0 16 марта 2023 г. ( 16.03.2023 ) Декораторы ES (предложение), улучшения вывода типов, bundler режим разрешения модуля, оптимизация скорости и размера
5.1 1 июня 2023 г. ( 01.06.2023 ) Более простой неявный возврат для undefined и несвязанные типы для геттеров и сеттеров
5.2 24 августа 2023 г. ( 24.08.2023 ) using объявления и явное управление ресурсами, метаданные декоратора, а также именованные и анонимные элементы кортежа.
5.3 20 ноября 2023 г. ( 20.11.2023 ) Улучшенное сужение типов, проверка правильности и оптимизация производительности.
5.4 6 марта 2024 г. Object.groupBy и Map.groupBy поддерживать
5.5 (Бета) 25 апреля 2024 г. Предикаты выведенного типа, проверка синтаксиса регулярных выражений и импорт типов в JSDoc

См. также [ править ]

Ссылки [ править ]

Цитаты [ править ]

  1. ^ «ТипСкрипт» . КодПлекс . Архивировано из оригинала 3 апреля 2015 года . Проверено 26 апреля 2015 г.
  2. ^ «Выпуск TypeScript 5.4 microsoft/TypeScript» . 6 марта 2024 г. Проверено 19 марта 2024 г.
  3. ^ «Типовая совместимость» . Типскрипт . Проверено 21 марта 2018 г.
  4. ^ «Ранняя история F #» (PDF) . TypeScript находился под прямым влиянием F#: одним из создателей TypeScript был Люк Хобан, который начал работу над TypeScript (тогда он назывался Strada) сразу после работы над F# 2.0. Недавно он отметил влияние F# на ранние части дизайна TypeScript [Hoban 2017].
  5. ^ Нельсон, Гэри (28 апреля 2020 г.). «Как ActionScript предвосхитил TypeScript» . Середина . Проверено 9 июля 2022 г.
  6. ^ Брайт, Питер (3 октября 2012 г.). «Microsoft TypeScript: нужный нам JavaScript или решение, ищущее проблему?» . Арс Техника . Конде Наст . Проверено 26 апреля 2015 г.
  7. ^ «Программирование TypeScript с использованием кода Visual Studio» . code.visualstudio.com . Проверено 12 февраля 2019 г.
  8. ^ "Борисянков/DefinitelyTyped" . Гитхаб . Проверено 26 апреля 2015 г.
  9. ^ Фоли, Мэри Джо (1 октября 2012 г.). «Microsoft раскрывает секреты TypeScript, расширенной версии JavaScript» . ЗДНет . CBS Интерактив . Проверено 26 апреля 2015 г.
  10. ^ Сомасегар, С. (1 октября 2012 г.). «Блог Сомасегара» . Майкрософт . Проверено 26 апреля 2015 г.
  11. ^ Бакстер-Рейнольдс, Мэтт (1 октября 2012 г.). «Microsoft TypeScript: может ли отец C# спасти нас от тирании JavaScript?» . ЗДНет . Проверено 26 апреля 2015 г.
  12. ^ Джексон, Иоав (1 октября 2012 г.). «Microsoft расширяет возможности Javascript для крупномасштабной разработки» . ИТ-директор . Предприятие ИДГ . Архивировано из оригинала 17 декабря 2013 года . Проверено 26 апреля 2015 г.
  13. ^ «Microsoft расширяет возможности JavaScript для крупномасштабной разработки» . Инфомир . ИДГ . 1 октября 2012 года . Проверено 26 апреля 2015 г.
  14. ^ Тернер, Джонатан (2 апреля 2014 г.). «Анонс TypeScript 1.0» . Блог команды TypeScript Language . Майкрософт . Проверено 20 октября 2021 г.
  15. ^ Мигель де Икаса (1 октября 2012 г.). «TypeScript: первые впечатления» . Проверено 12 октября 2012 г. Но TypeScript приносит разработчикам Unix лишь половину пользы от использования строго типизированного языка: строгую типизацию. Intellisense, автодополнение кода и рефакторинг — это инструменты, доступные только пользователям Visual Studio Professional в Windows. Нет поддержки Eclipse, MonoDevelop или Emacs для каких-либо функций языка.
  16. ^ «Microsoft TypeScript: может ли отец C# спасти нас от тирании JavaScript?» . ЗДНет . 1 октября 2012 года . Проверено 12 октября 2012 г. И я считаю, что это довольно большая ошибка. Если вы создаете веб-приложения, которые работают не на Windows, вы, скорее всего, используете Mac и, скорее всего, не используете Visual Studio. Чтобы получить IntelliSense, вам понадобится подключаемый модуль Visual Studio. Все, что вы получаете без Visual Studio, — это строгая типизация. Вы не получаете тех преимуществ производительности, которые дает IntelliSense. .
  17. ^ «TypeStrong: единственный пакет TypeScript, который вам когда-либо понадобится» . Гитхаб . Проверено 21 июля 2016 г.
  18. ^ Хиллар, Гастон (14 мая 2013 г.). «Работа с TypeScript в Visual Studio 2012» . Журнал доктора Добба . Проверено 26 апреля 2015 г.
  19. ^ «TypeScript 0.9 поставляется с новым компилятором и поддержкой дженериков» . Регистр . 18 июня 2013 года . Проверено 26 апреля 2015 г.
  20. ^ Хейлсберг, Андерс (2 апреля 2014 г.). «ТипСкрипт» . Канал 9 . Майкрософт . Проверено 26 апреля 2015 г.
  21. ^ Jackson, Joab (25 February 2014). "Microsoft TypeScript graduates to Visual Studio". PC World. IDG. Retrieved 26 April 2015.
  22. ^ Тернер, Джонатан (21 июля 2014 г.). «Новый компилятор и переход на GitHub» . Блог команды TypeScript Language . Майкрософт . Проверено 26 апреля 2015 г. [ постоянная мертвая ссылка ]
  23. ^ Брайт, Питер (22 сентября 2016 г.). «TypeScript, JavaScript от Microsoft для больших приложений, достигает версии 2.0» . Арс Техника . Конде Наст . Проверено 22 сентября 2016 г.
  24. ^ «Анонс TypeScript 3.0» . 30 июля 2018 года . Проверено 16 марта 2020 г.
  25. ^ «ТипСкрипт 3.0» . 30 июля 2018 года . Проверено 16 марта 2020 г.
  26. ^ Перейти обратно: а б «Анонс TypeScript 4.0» . Типскрипт . 20 августа 2020 г. Проверено 30 октября 2020 г. .
  27. ^ «Документация — TypeScript 5.0» . www.typescriptlang.org . Проверено 18 мая 2023 г.
  28. ^ Андерс Хейлсберг (5 октября 2012 г.). «Что такое TypeScript и почему с Андерсом Хейлсбергом» . www.hanselminites.com . Проверено 15 января 2014 г.
  29. ^ С. Сомасегар (1 октября 2012 г.). «TypeScript: разработка JavaScript в масштабе приложения» . msdn.com . Проверено 27 ноября 2013 г.
  30. ^ «Документация — TypeScript 5.2» . www.typescriptlang.org . Проверено 9 ноября 2023 г.
  31. ^ Клинт Финли (1 октября 2012 г.). «Microsoft анонсирует новый JavaScript-подобный язык программирования TypeScript» . ТехКранч . Проверено 27 ноября 2013 г.
  32. ^ «Угловой 2» . angular.io . Проверено 4 мая 2016 г.
  33. ^ «Добро пожаловать в TypeScript» . typescriptlang.org . Майкрософт . Проверено 26 апреля 2015 г.
  34. ^ «Спецификация языка TypeScript, стр. 24» (PDF) . Архивировано из оригинала (PDF) 17 ноября 2013 года.
  35. ^ «TypeScript: Документация — повседневные типы» . www.typescriptlang.org/ . Проверено 30 марта 2021 г.
  36. ^ Тернер, Джонатан (18 июня 2013 г.). «Анонс TypeScript 0.9» . Блог команды TypeScript Language . Майкрософт .
  37. ^ «Общие типы в машинописном тексте» . Майкрософт .
  38. ^ «Справочник – Союзы и виды пересечений» . www.typescriptlang.org . Проверено 30 ноября 2020 г. .
  39. ^ Зёнке Сотманн (31 января 2014 г.). «Введение в систему модулей TypeScript» . blog.oio.de. Архивировано из оригинала 1 февраля 2014 года . Проверено 21 февраля 2014 г.
  40. ^ Оливье Блох (1 октября 2012 г.). «Sublime Text, Vi, Emacs: TypeScript включен!» . Майкрософт . Проверено 28 октября 2012 г.
  41. ^ «Поддержка TypeScript в WebStorm 6» . ДжетБрэйнс.
  42. ^ «Поддержка TypeScript в ReSharper 8.1» . ДжетБрэйнс. 28 октября 2013 г.
  43. ^ «ReSharper: расширение Visual Studio для разработчиков .NET от JetBrains» . ДжетБрэйнс .
  44. ^ «атом-машинопись» . Атом . Проверено 9 января 2020 г.
  45. ^ «ТипСтронг/грунт-ц» . Гитхаб . Проверено 26 апреля 2015 г.
  46. ^ "ppedregal/typescript-maven-plugin" . Гитхаб . Проверено 26 апреля 2015 г.
  47. ^ "ivogabe/gulp-typescript" . Гитхаб . Проверено 14 июля 2017 г.
  48. ^ "sothmann/typescript-gradle-plugin" . Гитхаб . Проверено 26 апреля 2015 г.
  49. ^ «ТСЛинт» . palantir.github.io .
  50. ^ Палантир (19 февраля 2019 г.). «ТСЛинт в 2019 году» . Середина . Проверено 24 апреля 2019 г.
  51. ^ «TSLint устарел, чтобы сосредоточить поддержку на typescript-eslint» . ИнфоQ . Проверено 24 апреля 2019 г.
  52. ^ «КодДОМ» . Learn.microsoft.com .
  53. ^ «КодДОМПровидер» . Learn.microsoft.com .
  54. ^ «Поставщик TypeScript CodeDOM» . github.com .

Источники [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: CCDD825A1D7D85A5399EA10D163176AB__1714840380
URL1:https://en.wikipedia.org/wiki/TypeScript
Заголовок, (Title) документа по адресу, URL1:
TypeScript - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)