что такое typescript и для чего он нужен

TypeScript: как с ним работать и чем он отличается от JavaScript

Frontend-разработка шагнула далеко за пределы JavaScript. Разбираемся, что такое TypeScript и почему его так любят.

что такое typescript и для чего он нужен. 5c5e28c2b2e112c7b98004cc44d02eeb. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-5c5e28c2b2e112c7b98004cc44d02eeb. картинка что такое typescript и для чего он нужен. картинка 5c5e28c2b2e112c7b98004cc44d02eeb.

что такое typescript и для чего он нужен. 88acecd9312f9c132fb972c9c44c7e6d. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-88acecd9312f9c132fb972c9c44c7e6d. картинка что такое typescript и для чего он нужен. картинка 88acecd9312f9c132fb972c9c44c7e6d.

На JavaScript написаны веб-интерфейсы практически всех сайтов. Однако не все его любят, а альтернатив почти нет. Единственный конкурент JS — WebAssembly, однако за несколько лет своего существования он пока не смог стать достаточно популярным.

Из-за такого расклада у разработчиков остаётся два выхода:

И многие выбирают второе решение. Поэтому за последние годы появилось сразу несколько языков-надстроек над JavaScript:

О последнем и пойдёт речь в этой статье. В 2019 году TypeScript стал одним из самых любимых языков программирования и попал в топ-10 по популярности:

что такое typescript и для чего он нужен. 13301030062020 e3ea06ecc4efe66fd609360c227a5daace25eda6. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-13301030062020 e3ea06ecc4efe66fd609360c227a5daace25eda6. картинка что такое typescript и для чего он нужен. картинка 13301030062020 e3ea06ecc4efe66fd609360c227a5daace25eda6.

что такое typescript и для чего он нужен. 13301330062020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-13301330062020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. картинка что такое typescript и для чего он нужен. картинка 13301330062020 d58f50d1222620cd1cfe95da3a91221bd0d26e65.

что такое typescript и для чего он нужен. kucheryaviy. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-kucheryaviy. картинка что такое typescript и для чего он нужен. картинка kucheryaviy.

Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Что такое TypeScript

TypeScript — это язык программирования, в котором исправлены многие недостатки JavaScript. Код на TypeScript выглядит почти так же, как и код на JS, и, если у вас есть опыт frontend-разработки, изучить TypeScript достаточно просто. Особенно учитывая, что вы можете писать JS-код прямо в TS-скриптах.

Код на TypeScript компилируется в JS и подходит для разработки любых проектов под любые браузеры — тем более что можно выбрать версию JS, в которую будет компилироваться код.

TypeScript — проект с открытым исходным кодом, поэтому он очень быстро развивается. Многое, что появляется в TS, позже переходит и в JavaScript: например, let и const, стрелочные функции и так далее.

Давайте разберём два главных преимущества TS перед JS.

Строгая типизация

Многие проблемы в JavaScript появляются из-за динамической типизации и в целом странного поведения типов данных:

что такое typescript и для чего он нужен. 13302130062020 db52642fc67f6c7c46657360f234a883af322464. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-13302130062020 db52642fc67f6c7c46657360f234a883af322464. картинка что такое typescript и для чего он нужен. картинка 13302130062020 db52642fc67f6c7c46657360f234a883af322464.

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

Улучшенное ООП

И в JS, и в TS есть поддержка объектно-ориентированного программирования: классы, объекты, наследование. Однако TypeScript шагнул чуть дальше и использует больше возможностей ОПП. В том числе, например, интерфейсы:

Другой большой плюс — модификаторы доступа. Их в TypeScript три: public, private и protected. Вот пример их использования:

Также есть и другие возможности:

В будущем всё это может появиться и в JavaScript, но браузеры начнут поддерживать такие возможности ещё очень нескоро.

Минусы TypeScript

Разработчики любят этот язык, а некоторые крупные проекты уже переходят на него. Например, популярный фреймворк Angular.JS. Но этого всё равно недостаточно, чтобы он стал таким же востребованным, как JavaScript. Это связано с тем, что разработка веб-приложения на TypeScript стоит дороже и отнимает больше времени.

Особенно если необходимо использовать какую-нибудь библиотеку или фреймворк, которые не портированы на TS. В этом случае разработчикам придётся самостоятельно описывать сигнатуры (указывать типы данных) всех функций и методов — достаточно длительный процесс, учитывая размеры современных библиотек.

Также порог входа в TypeScript выше — чтобы использовать его преимущества, важно знать типы данных и объектно-ориентированное программирование.

Установка TypeScript

Чтобы использовать TypeScript, установите сначала Node.JS. Как это сделать, можете прочитать в нашей статье. После этого введите в консоли команду:

Если всё пройдёт успешно, то в папке появится файл app.js, который и подключим к странице.

В compilerOptions хранятся все параметры для компилятора:

Пишем приложение на TypeScript

Теперь создадим простой калькулятор и посмотрим, как отличается код для него на JS и на TS. Сначала сверстаем форму:

Здесь два поля для ввода чисел, кнопка, которая запускает скрипт и элемент для вывода результата:

что такое typescript и для чего он нужен. 13300930062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-13300930062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. картинка что такое typescript и для чего он нужен. картинка 13300930062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691.

Код TypeScript выглядит так:

А скомпилированный JS-код для такого калькулятора выглядит вот так:

Заключение

Несмотря на то что в TypeScript очень достойный синтаксис, JavaScript ещё долго будет доминировать во frontend-разработке. Поэтому его в любом случае нужно знать, даже если он вам не нравится.

Если вы только приступаете к изучению программирования, то начинать с TypeScript будет сложно. Чтобы подготовиться, вы можете записаться на наш курс по frontend-разработке — вы освоите HTML, CSS, JS и его популярные фреймворки.

Источник

Вводный курс по TypeScript

Авторизуйтесь

Вводный курс по TypeScript

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

Стоит ли использовать TypeScript?

В первую очередь возникает вопрос: а какие преимущества у этого языка?

В каких случаях стоит использовать TypeScript?

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

Установка TypeScript

Установить TypeScript совсем не сложно — достаточно загрузить его через пакетный менеджер npm и создать TypeScript-файл:

После его установки можно сразу перейти к рассмотрению возможностей этого языка и его синтаксиса.

Типы переменных

Number

Все числовые переменные в TypeScript существуют в виде числа с плавающей запятой. Числовой тип получают даже двоичные и шестнадцатеричные числа:

String

Как и другие языки, TypeScript использует тип String для хранения текстовой информации:

Можно создавать и многострочные переменные, а также в строки можно вставлять выражения, если выделить строку символами « :

Boolean

Куда же без одного из основных типов данных:

Присвоение типов

Одиночный тип переменной

Простой пример, где присваивается значение переменной типа String :

Такой способ действителен для всех типов данных.

Мультитип переменной

В коде выше переменной назначается два типа: строчный и численный. Теперь переменной можно присваивать как текстовые данные, так и числовые.

Проверка типов

Ниже будут описаны два основных (на деле их существует больше) способа проверки типа переменной.

Typeof

Команда typeof работает только с базовыми типами данных. Это означает, что эта команда может определить только типы, описанные выше.

Instanceof

Тип Assertions

Иногда приходится преобразовывать (кастовать) переменную одного типа в другой тип. Особенно часто это случается, когда переменную типа any (или другого произвольного типа) нужно передать в функцию, которая принимается аргумент определённого типа.

Существует много решений этой задачи, но ниже будут описано два самых популярных из них.

Ключевое слово as

Чтобы кастовать переменную, нужно после оператора as написать тип, в который переводится переменная.

Оператор <>

Этот код работает идентично предыдущему — разница только синтаксическая.

Источник

Практическое руководство по TypeScript для разработчиков

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

Что такое TypeScript?

TypeScript — это популярный статический типизатор (static type checker) или типизированное надмножество (typed superset) для JavaScript, инструмент, разработанный Microsoft и добавляющий систему типов к гибкости и динамическим возможностям JavaScript.

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

Установка TypeScript

Для того, чтобы начать работу с TypeScript, нужно либо установить специальный интерфейс командной строки (command line interface, CLI), либо воспользоваться официальной онлайн-песочницей или другим похожим инструментом.

Для выполнения кода мы будем использовать Node.js. Устанавливаем его, если он еще не установлен на вашей машине, инициализируем новый Node.js-проект и устанавливаем транспилятор TypeScript:

Это установит tsc (компилятор TypeScript) для текущего проекта. Для того, чтобы проверить установку, в директории проекта создаем файл index.ts следующего содержания:

Затем используем транспилятор для преобразования кода, содержащегося в этом файле, в JavaScript:

Наконец, выполняем скомпилированный код с помощью команды node :

В данном случае транспилятор не делает ничего, кроме копирования кода из одного файла в другой, но это позволяет убедиться, что все установлено и работает правильно.

Определение TypeScript-проекта

tsconfig.json содержит определенное количество настроек, которые влияют на поведение транспилятора, например, на то, какие файлы следует игнорировать, какой файл является целью компиляции, какие типы импортируются и т.д.

Вы легко можете настроить TypeScript с помощью следующей команды:

Сгенерированный tsconfig.json содержит почти все возможные настройки с кратким описанием каждой из них. К счастью, данный файл содержит хорошие настройки по умолчанию, так что вы можете удалить большую часть закомментированных опций.

Мы еще вернемся к настройкам TypeScript, а сейчас давайте писать код.

Возможности TypeScript

Каждая возможность TypeScript подробно рассматривается в «Карманной книге по TypeScript». Мы сосредоточимся на практической составляющей некоторых из них. Я постараюсь пролить свет на некоторые возможности, которые часто упускаются из вида в литературе, посвященной TypeScript.

Основы типизации

Ключевая идея TypeScript заключается в контроле за динамической природой и гибкостью JavaScript с помощью типов. Давайте рассмотрим эту идею на практике.

В директории проекта создаем файл test.js следующего содержания:

Выполняем данный код:

В терминале мы увидим thirty two1 без каких-либо предупреждений об очевидной некорректности вывода. Ничего нового: обычное поведение JavaScript.

Но что если мы хотим обеспечить, чтобы функция addOne() принимала только числа? Вы можете добавить в код проверку типа переданного значения с помощью оператора typeof или же вы можете использовать TypeScript, который привнесет в процесс компиляции кода некоторые ограничения.

Заменим содержимое созданного нами ранее index.ts следующим кодом:

Попытка преобразования проваливается:

Таким образом, определение типов помогает избежать совершения ошибок, таких как передача в функцию аругментов неправильного типа.

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

Множества

TypeScript поддерживает несколько типов множеств (обычные массивы, ассоциативные массивы — карты или мапы, кортежи), обеспечивая первоклассную поддержку композиции.

Карты (maps)

Карты, как правило, используются для определения связи между ключами и значениями для представления специфичных для приложения данных:

Векторы (vectors)

Векторы — это последовательная индексированная структура данных, содержащая фиксированные типы для всех элементов. JavaScript не поддерживает данную возможность, но TypeScript позволяет разработчикам эмулировать эту концепцию:

Кортежи (tuples)

Кортежи также являются индексированной структорой данных, но типы элементов могут различаться в зависимости от их позиции:

Объединения (unions)

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

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

Затем с помощью typeof осуществляем разделение типов:

Здесь мы в явном виде реализовали предохранитель типов.

К слову, кортежи и объединения можно использовать совместно:

Можно определять размер и тип каждого элемента массива:

Предохранители типов (type guards)

Предохранители типов — это выражения, выполняющие проверки во время выполнения кода, результат которых может быть использован системой типов для сужения (narrow) области (scope) проверяемого аргумента.

Для случаев, когда система типов не может сделать правильный вывод о типе в текущем контексте, мы можем определить пользовательский предохранитель типа через предикат (типизированная функция, возвращающая логическое значение):

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

Весьма распространенным случаем использования пользовательских предохранителей является влидация внешних данных с помощью JSON-схемы, предоставляемой сторонней библиотекой, такой как Ajv. Обычно, это происходит в веб-приложениях, где тело запроса имеет тип unknown (или any в зависимости от используемого фреймворка), и мы хотим проверить его перед использованием:

В основе данного механизма лежит синхронизация JSON-схемы с типом. Если мы изменим тип, но не изменим схему, то вполне можем получить неожиданное сужение типа.

В следующем разделе мы узнаем, как обеспечить автоматическую синхронизацию между схемой и типом.

Исключающие объединения (discriminated unions)

Объединения с общим литеральным полем называются исключающими. При работе с такими типами TypeScript предоставляет неявный предохраитель, позволяя избежать его создания в явном виде:

В функции getFirstProject() TypeScript сужает область аргумента без помощи предиката. Попытка получить доступ к массиву projects в первой ветке (блоке if ) закончится ошибкой типа.

Валидация во время выполнения

Как было отмечено ранее, в случае с пользовательскими предохранителями, корректность возвращаемого результата обеспечивается разработчиком.

При наличии ошибки в предикате, система типов может получить неверную информацию. Рассмотрим пример:

Существует несколько библиотек, которые позволяют обеспечить автоматическую синхронизацию между валидацией во время выполнения и соответствующим типом. Одним из самых популярных решений является runtypes, однако мы будем использовать io-ts и fp-ts.

Суть данного подхода состоит в том, что мы определяем форму (или фигуру) типа с помощью примитивов, предоставляемых io-ts ; эта форма называется декодером (decoder); мы используем ее для проверки данных, которым мы по какой-либо причине не доверяем:

Настройка TypeScript

Данный файл содержит набор ключей и значений, отвечающих за 3 вещи:

Пресеты TSConfig

TypeScript может преобразовывать код в ES3 и поддерживает несколько форматов модулей (CommonJS, SystemJS и др.).

Точные настройки зависят от среды выполнения кода. Например, если вашей целью является Node.js 10, вы можете транспилировать код в ES2015 и использовать CommonJS в качестве стратегии разрешения модулей.

К счастью, команда TypeScript разработала хороший набор пресетов, которые вы можете просто импортировать в свой tsconfig.json :

Среди наиболее важных настроек, можно отметить следующее:

Заключение

Надеюсь, данная статья позволила вам получить общее предствления о возможностях, предоставляемых TypeScript, а также о том, почему использование TypeScript в дополнение к JavaScript в настоящее время фактически является стандартом веб-разработки.

Система типов TypeScript не является идеальной, но это лучшее, что мы имеет на сегодняшний день.

Облачные серверы от Маклауд отлично подходят для сайтов с JavaScript.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Источник

Почему вам стоит использовать TypeScript

Если вы еще не в курсе: JavaScript победил. На сегодняшний день это самый кроссплатформенный язык, доступный для любых устройств. На нем можно создавать веб-приложения (клиент и сервер), в том числе с оффлайн-режимом работы, десктопные приложения (для Windows 8), приложения для смартфонов и планшетов (PhoneGap), расширения для Microsoft Office, SharePoint и Dynamics. Код на JavaScript работает в СУБД, таких как MongoDB и даже Hadoop в Windows Azure (BigData однако).

На Javascript уже написаны Doom и эмулятор Linux. Фактически решая любую задачу, кроме написания модуля ядра ОС, вы встретитесь с JavaScript. Если вы еще не знаете JavaScript, то вам следует срочно начать его изучать.

У JavaScript много недостатков

Многие разработчики испытывают такую реакцию на JavaScript:

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

Большую часть людей пугает отсутствие intellisense при наборе кода и манипуляции с HTML\CSS. Но это не самые большие проблемы.

Самая большая проблема JavaScript в том, что его придумал не Microsoft.

Основные недостатки JavaScript:

Для того чтобы не писать JavaScript были созданы компиляторы Java –> JavaScript, C# –> JavaScript, LLVM –> JavaScript. Но все это приводит к тому, что на программу на исходном языке накладываются существенные ограничения, а также существующие библиотеки для JavaScript не используются.

TypeScript исправляет часть недостатков

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

Так и появился язык TypeScript (ссылка на оффсайт). TypeScript является надмножеством JavaScript. То есть любой корректный код на JavaScript также является корректным кодом на TypeScript.

TypeScript использует статическую типизацию, то есть все типы проверяются при компиляции. Кстати сам компилятор TypeScript написан на TypeScript и является open source (ссылка на репозитарий).

TypeScript добавляет возможность объявлять модули, классы и интерфейсы. Это позволяет масштабировать разработку сложных JavaScript приложений.

На выходе получается обычный JavaScript, который не требует дополнительных библиотек или специальных компонентов.

TypeScript в действии

При наборе кода в VisualStudio доступна богатая подсказка:

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

Поддерживаются классы, аннотации и вывод типов, работает интерактивная отладка.

С легкостью можно использовать в TypeScript внешние библиотеки, например jquery:

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

При несовпадении типов компилятор ругается:

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

Компиляция TypeScript происходит при сборке проекта, проверяя многие ошибки без запуска.

Ну и самая главная фича, от вида которой я чуть не расплакался:

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

Кто еще не до конца вдохновился может глянуть на raytracer на TypeScript, результат работы.

Как начать использовать TypeScript

что такое typescript и для чего он нужен. image loader. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-image loader. картинка что такое typescript и для чего он нужен. картинка image loader.

Слева код на TypeScript, справа результат компиляции на JavaScript. Таким образом использование TypeScript поможет вам лучше понять и изучить JavaScript.

Тем, кто не использует visual studio, повезло чуть меньше. На сегодня доступны плагины для распространенных текстовых редакторов, а также инструменты командной строки.

Далее вам следует обязательно прочитать туториалы от настоящего папы, иногда стоит заглядывать в спецификацию.

Можество определений типов для популярных библиотек можно найти в проекте DefinitelyTyped. Судя по нику автора проекта это наш соотечественник.

Источник

TypeScript. Что, зачем и как?

что такое typescript и для чего он нужен. 2*a769TWQ4NJdHJc7tpd tPw. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-2*a769TWQ4NJdHJc7tpd tPw. картинка что такое typescript и для чего он нужен. картинка 2*a769TWQ4NJdHJc7tpd tPw.

Feb 21 · 8 min read

что такое typescript и для чего он нужен. 1*aqrX0fXnYYZPafY42yHlbQ. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-1*aqrX0fXnYYZPafY42yHlbQ. картинка что такое typescript и для чего он нужен. картинка 1*aqrX0fXnYYZPafY42yHlbQ.

Те из вас, кто занимается разработкой на JavaScript, наверняка так или иначе слышали о TypeScript. Если при этом вы не решались попробовать освоить этот язык из-за неуверенности в его эффективности по сравнению с привычным JS, то сегодня самое время развеять эти сомнения.

Данная статья послужит ознакомительным, но в то же время разносторонним руководством к TypeScript, которое пригодится на первых этапах любому JS-разработчику.

Что такое TS, как работает его система типов, и чем он может пригодиться вам в последующих проектах? К концу статьи мы с вами на все эти вопросы ответим.

Примечание : у меня уже выработалось к этому языку особое отношение, и, честно сказать, я уже предпочитаю вести разработку исключительно на нем, а не на JS.

Что такое TypeScript?

Этот язык можно рассматривать как надмножество JavaScript.

Что это значит?

Несмотря на то, что изначально мы пишем код на TypeScript, его нельзя выполнять непосредственно в браузере, как JS. Вместо этого итоговый код проходит через дополнительный шаг компиляции, в ходе которого преобразуется в распознаваемый браузером JS-эквивалент. Этот процесс еще называют транспиляция.

Так что, даже когда мы программируем на TS, конечная программа, выполняющаяся в браузере, будет в JS.

Зачем тогда вообще использовать TypeScript?

Несмотря на то, что этот язык не предоставляет дополнительной функциональности в среде выполнения, он предлагает ряд возможностей, помогающих разработчикам писать более надежный и легче обслуживаемый код, чем в случае с чистым JS.

Как именно TypeScript это делает?

Как и предполагает его имя, он добавляет к JS систему типов. Если в JavaScript тип переменной присваивается динамически, то в TS нам приходится предопределять ее тип сразу в момент объявления.

Если мы говорим о JavaScript, то здесь можно сначала присвоить переменной целочисленное значение, а затем переназначить его на строковое.

что такое typescript и для чего он нужен. 0*Lnu9FKF mPGQsNWy. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-0*Lnu9FKF mPGQsNWy. картинка что такое typescript и для чего он нужен. картинка 0*Lnu9FKF mPGQsNWy.

По сути, это и отличает TS от JS. В нем используются типы, что позволяет нам избежать в коде глупых ошибок.

Как именно TypeScript улучшает JavaScript

Недостаток типизации нельзя однозначно назвать минусом JavaScript, но это дает программистам слишком большую свободу, что неизбежно ведет к написанию кода с ошибками.

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

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

Опять же в TS есть для этого решение.

Использование TS избавит вас от сотни небрежных ошибок в коде, которые иной раз оказываются настолько глупы, что хочется рвать на голове волосы:) Кроме того, ваш код станет лучше самодокументирован и проще в обслуживании.

Если вам не хватало вариантов автоподстановок для JS-кода в IDE, то тем более стоит познакомиться с TS. Наличие типов дает этому языку возможность предлагать в IDE более точные подстановки.

Использование типов в TypeScript

Базовые типы

В TS есть ряд предопределенных типов, к числу которых относятся число, строка, логический тип и массив.

Полный список можно найти в документации TypeScript (англ.).

Вот несколько примеров:

Также не рекомендуется частить с типами объединения. Если же иначе никак, то лучше ограничивать возможные типы до минимума.

Объявление пользовательских типов

Помните, как я использовал тип Person в примере ранее? Но Person не относится к базовым типам TS. Я создал этот тип по своей необходимости, чтобы задействовать его как тип параметра, принимаемого заданной функцией.

Для определения основной структуры нового вводимого в приложение типа используются интерфейсы.

что такое typescript и для чего он нужен. 0*WrDrwWXkEwX9Q18w. что такое typescript и для чего он нужен фото. что такое typescript и для чего он нужен-0*WrDrwWXkEwX9Q18w. картинка что такое typescript и для чего он нужен. картинка 0*WrDrwWXkEwX9Q18w.

В интерфейсе также можно определять необязательные поля.

В последствии при определении другого типа можно использовать в качестве типа поля пользовательский тип.

Расширение интерфейсов

В TS можно реализовать наследование свойств от другого типа, расширив его интерфейс.

Типы параметров функций и возвращаемые типы

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

Вы также гарантируете, что поле sold в любом передаваемом объекте не будет undefined или null. Кроме того, это исключает ряд сценариев, в которых при выполнении могла возникнуть ошибка. Если бы мы в этом случае использовали JS, то для предотвращения подобных ошибок пришлось бы написать больше кода.

Как и в случае переменных, типы возвращаемых значений и параметров можно объявлять как объединения.

Когда вы объявляете принимаемый параметр или возвращаемое значение, объекты типов, расширяющих исходный интерфейс, также принимаются в качестве аргумента или возвращаемого значения.

Обобщения

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

А если использовать вместо обобщений тип ‘any’?

Псевдонимы типов

Когда конкретное поле, которое нужно задействовать в приложении, может принадлежать к одному из нескольких типов, есть возможность определить его тип как объединение этих отдельных типов.

Теперь не придется прописывать длинное объединение типов. К тому же, если в будущем понадобится внести изменения в возвращаемый тип функции, то теперь потребуется изменить только одну строку кода.

Преобразование типов

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

Заключение

Надеюсь, эта статья рассеяла ваши сомнения по поводу использования TS для фронтенд разработки. Поскольку большинство возможностей TS повторяют JS, вы сможете освоить этот язык очень быстро, получив ощутимую отдачу уже в ближайших проектах.

Уверен, что вскоре вы наверняка станете JS-разработчиком, который просто не мыслит жизни без TypeScript, каким и стал я.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *