Сужение TypeScript № 1

Посмотрите эту и многие другие статьи на lucaspaganini.com

Доброе утро/ночь/день/в какое время сейчас.

И добро пожаловать. Добро пожаловать в первую статью из нашей серии статей, посвященных TypeScript.

У нас есть ТАК МНОГО, чтобы покрыть! Начиная с основ и заканчивая продвинутыми вариантами использования.

В этой серии мы рассмотрим:

  1. Что такое типгард
  2. Что сужается
  3. Какие проблемы решает
  4. Операторы защиты типа
  5. Сужение равенства
  6. сужение правды
  7. Анализ потока управления
  8. Предикаты типа
  9. Ограждения нестандартного типа
  10. Создание охранников путем исключения
  11. Дискриминированные союзы
  12. Охранники утверждений
  13. Охранники высшего порядка
  14. Сужение библиотеки

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

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

Начнем с понятий:

Что такое сужение в TypeScript?

Сужение — это процесс уточнения более широкого типа до более конкретного.

Широкий → Конкретный string"abc" number123 objectDate

Например, уточнение string до "abc" или number до 123 и т. д. У вас есть более широкий тип, и вы сокращаете его до чего-то более конкретного.

Зачем нам нужно сужение?

А зачем бы это делать? Ну, чтобы решать дела индивидуально.

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

Если это string, сделайте так. Если это number, сделайте это. И если это boolean, сделайте еще одну вещь. Это сужение.

У вас более широкий тип, представляющий собой комбинацию string, number и boolean. Затем вы сужаете этот более широкий тип до string, затем до number, а затем до boolean.

Чтобы сузить типы, вы можете использовать защиту типа.

Что такое типгард?

Типовые гарды — это техники сужения, они позволяют делать сужения.

«Лукас, давай будем практичными. Как они выглядят? Покажи мне типгард».

Хорошо, я покажу вам. Просто потерпите меня минутку. Я хочу подчеркнуть две вещи:

  1. TypeScript — это надмножество JavaScript. Весь JavaScript является допустимым TypeScript;
  2. TypeScript хочет быть как можно менее навязчивым. Вместо того, чтобы принуждать нас к новому синтаксису, он будет поддерживать идиоматические способы работы с JavaScript. По возможности!

Видите ли, сужение — не новая проблема, мы уже много лет сталкиваемся с ней в JavaScript. Бьюсь об заклад, вы думали об операторе typeof, пока я приводил последний пример.

Оператор typeof позволяет нам сузить наши типы. Итак, типгард.

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

Заключение

Для этой первой статьи я остановлюсь на этом. Ссылки ниже.

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

Я не могу не подчеркнуть количество тем, о которых нам нужно поговорить. Многое еще впереди.

И разбить это на простые уроки, полные примеров и анимаций, требует много работы. Поэтому я сыграю здесь роль надоедливого создателя контента и убедительно попрошу вас поставить лайк и поделиться этой статьей. Поделитесь ею с коллегами. Поделитесь им в группе Facebook. Поделитесь им на Reddit. Я не знаю. Но помогите нам расти, чтобы мы продолжали делать премиум-контент бесплатно.

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

Если ваша компания ищет удаленных веб-разработчиков, вы можете связаться со мной и моей командой на lucaspaganini.com.

Хорошего дня, скоро увидимся.

Рекомендации

  1. Документы TypeScript по сужению