Сужение TypeScript № 1
Посмотрите эту и многие другие статьи на lucaspaganini.com
Доброе утро/ночь/день/в какое время сейчас.
И добро пожаловать. Добро пожаловать в первую статью из нашей серии статей, посвященных TypeScript.
У нас есть ТАК МНОГО, чтобы покрыть! Начиная с основ и заканчивая продвинутыми вариантами использования.
В этой серии мы рассмотрим:
- Что такое типгард
- Что сужается
- Какие проблемы решает
- Операторы защиты типа
- Сужение равенства
- сужение правды
- Анализ потока управления
- Предикаты типа
- Ограждения нестандартного типа
- Создание охранников путем исключения
- Дискриминированные союзы
- Охранники утверждений
- Охранники высшего порядка
- Сужение библиотеки
На данный момент вы, вероятно, даже не понимаете, о чем я говорю. И это хорошо, вы доберетесь. Но сначала подпишитесь на рассылку, чтобы не пропустить новые статьи.
Меня зовут Лукас Паганини, и на этом веб-сайте мы публикуем учебные пособия по веб-разработке. Если это то, что вас интересует, пожалуйста, подпишитесь на рассылку новостей.
Начнем с понятий:
Что такое сужение в TypeScript?
Сужение — это процесс уточнения более широкого типа до более конкретного.
Широкий → Конкретный string
→ "abc"
number
→ 123
object
→ Date
Например, уточнение string
до "abc"
или number
до 123
и т. д. У вас есть более широкий тип, и вы сокращаете его до чего-то более конкретного.
Зачем нам нужно сужение?
А зачем бы это делать? Ну, чтобы решать дела индивидуально.
Если у вас есть переменная, которая может быть string
, number
или boolean
. Тогда вы, вероятно, захотите обрабатывать эти случаи один за другим.
Если это string
, сделайте так. Если это number
, сделайте это. И если это boolean
, сделайте еще одну вещь. Это сужение.
У вас более широкий тип, представляющий собой комбинацию string
, number
и boolean
. Затем вы сужаете этот более широкий тип до string
, затем до number
, а затем до boolean
.
Чтобы сузить типы, вы можете использовать защиту типа.
Что такое типгард?
Типовые гарды — это техники сужения, они позволяют делать сужения.
«Лукас, давай будем практичными. Как они выглядят? Покажи мне типгард».
Хорошо, я покажу вам. Просто потерпите меня минутку. Я хочу подчеркнуть две вещи:
- TypeScript — это надмножество JavaScript. Весь JavaScript является допустимым TypeScript;
- TypeScript хочет быть как можно менее навязчивым. Вместо того, чтобы принуждать нас к новому синтаксису, он будет поддерживать идиоматические способы работы с JavaScript. По возможности!
Видите ли, сужение — не новая проблема, мы уже много лет сталкиваемся с ней в JavaScript. Бьюсь об заклад, вы думали об операторе typeof
, пока я приводил последний пример.
Оператор typeof
позволяет нам сузить наши типы. Итак, типгард.
Есть много других типов охранников, и вы также можете создать свой собственный. У нас также есть охранники утверждений, что является еще одним способом сужения.
Заключение
Для этой первой статьи я остановлюсь на этом. Ссылки ниже.
Теперь вы знаете, что такое сужение в TypeScript. Но не привыкайте к этому, в следующей статье мы запачкаем руки и попрактикуемся в этих концепциях.
Я не могу не подчеркнуть количество тем, о которых нам нужно поговорить. Многое еще впереди.
И разбить это на простые уроки, полные примеров и анимаций, требует много работы. Поэтому я сыграю здесь роль надоедливого создателя контента и убедительно попрошу вас поставить лайк и поделиться этой статьей. Поделитесь ею с коллегами. Поделитесь им в группе Facebook. Поделитесь им на Reddit. Я не знаю. Но помогите нам расти, чтобы мы продолжали делать премиум-контент бесплатно.
Скоро мы выпустим вторую часть этой серии статей, поэтому подпишитесь, чтобы получать уведомления, когда это произойдет.
Если ваша компания ищет удаленных веб-разработчиков, вы можете связаться со мной и моей командой на lucaspaganini.com.
Хорошего дня, скоро увидимся.