TypeScript

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

TypeScript — известный язык программирования, разновидность JavaScript от корпорации Microsoft. Да, сия потужная корпорация производит не только всем известные стеклопакеты, но дык ешшо и иные программные продукты, которые вполне можно использовать.

Хоохох… Хохохохо…

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

Появился этот язык в сравнительно недавнее время, в 2012. Отжужжал экономический кризис, и мелкомягкие как бы решили, что надобно раскочегариваться, для чего весьма полезно всирать новые технологии. Ну тутати вышло не вполне ново, но тоже нормально, бухыхы.

Главным отличием TypeScript, которое и восрало название языка, является его система статической типизации. В отличие от JavaScript, где типы проверяются во время выполнения, TypeScript выполняет проверку типов на этапе компиляции. В этом плане типе скрипт как бы напоминает более традиционные языки программирования, в которых для разновидности данных обязательно надо объявлять типыч.

Есть два основных механизма для описания формы объектов: интерфейсы и псевдонимы типов. Интерфейсы традиционно используются для определения контрактов в объектно-ориентированном программировании и могут быть расширены и реализованы классами. Псевдонимы типов могут описывать не только объекты, но и примитивы, объединения и иные конструкции. Но с ними надо быть осторожными.

Язык полностью поддерживает объектно-ориентированное программирование с классами, включая модификаторы доступа, абстрактные классы, наследование и реализацию интерфейсов. В дальнейшем таким образом удалось вгавкнуть те же особенности в оригинальный жабий скрипт.

Но наиболее потужное действие осуществляется после завершения работы со скриптом. Компилятор TypeScript преобразует код TypeScript в JavaScript, удаляя всю информацию о типах и создавая код, совместимый с выбранной версией ECMAScript. Таким образом сам по себе типе скрипт не нуждается ни в каких исполнителях, надобно превратить его в жабий и запускать.

Вот так вот. На самом деле это просто как бы надстройка, да и всё.

Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниор
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур Пейперт
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный оператор