30 картинок для быстрого понимания TypeScript

внешний интерфейс JavaScript TypeScript
30 картинок для быстрого понимания TypeScript

предисловие

Каждый месяц будут сводки и обмен мнениями📚, и в этом месяце будет то же самое

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

Особенности этой статьи✨:

  1. Краткое резюме в виде графикаTSСвязанные очки знаний
  2. Прилагается исходное изображение высокой четкости и исходный файл, который можно изменить дважды

Примечания: эта статья основана на основах, поверните налево 👈🏻

текст

30 карт мозга

общие основные типы

мы знаемTSдаJS, то начинаем с несколькихJSГоворя об общих типах данных вTSИмеются соответствующие, как показано ниже:

1常见的基本类型.png

особый тип

за исключением некоторыхJSраспространенные виды, но и некоторыеTSвсе уникальные типы

2特殊类型.png

Утверждения типов и защита типов

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

3类型断言.png

интерфейс

Сам интерфейс — это просто спецификация, которая определяет некоторые обязательные свойства или методы, и интерфейс может использоваться для спецификации.function,classилиconstructor, но правила немного другие

4TS中的接口.png

Классы и модификаторы

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

TSглавным образом черезclassключевое слово для определения класса, а также обеспечивает3модификаторы

5类和修饰符.png

Наследование классов и абстрактные классы

TSНаследование вES6Наследование классов очень знакомо, и подклассы могут передаватьсяextendsключевое слово, наследующее класс

Но у него также есть понятие абстрактного класса, а абстрактный класс, как базовый класс, не можетnew

6.0类的继承和抽象类.png

Дженерики

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

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

7泛型.png

вывод типа

существуетTSСуществует вывод типа, то есть в некоторых местах, где тип явно не указан, вывод типа поможет предоставить тип

8类型推断.png

тип функции

Чтобы нам было удобнее пользоваться,TSДобавлены типы и т. д. для функций

9函数.png

Числовое перечисление и перечисление строк

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

TSПоддержка числовых и строковых перечислений

10枚举.png

совместимость типов

TSСовместимость типов в структуре основана на подтипах структуры.11类型兼容性.png

Типы объединения и типы пересечения

добавить дваTSТипы: типы объединения и типы пересечения

12联合类型和交叉类型.png

для..из и для..в

TSтакже поддерживаетfor..ofа такжеfor..in, но знаете ли вы их два основных отличия?

13forin和forof.png

модуль

TSМодульностьJSКонцепция модулей, модули выполняются в своей области, переменные, функции, классы и т. д. в модуле не видны за пределами модуля, если вы явно не используетеexportэкспортировать их в одну из форм

14模块.png

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

Способ использования пространств имен на самом деле очень прост, формат выглядит следующим образом:namespace X {}

15命名空间的使用.png

Решить проблему, заключающуюся в том, что одно пространство имен слишком велико.

16解决单个命名空间过大的问题.png

Упрощенное пространство имен

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

TSиспользуется вimportСоздает псевдоним для указанного символа примерно в формате:import q = x.y.z

17简化命名空间.png

Как избежать ловушек пространств имен и модулей в 2 TS

18陷阱.png

Процесс разрешения модуля

Разрешение модуля относится к процессу, которому следует компилятор при поиске содержимого импортированного модуля.

Процесс примерно такой:

image.png

Относительный и не относительный импорт модулей

Есть два основных различия между относительным и не относительным импортом модулей:

image.png

Классическая стратегия разрешения модулей

TSСтратегия разрешения модуля , одна из которых называетсяClassic

21Classic模块解析策略.png

Процесс разбора модуля Node.js

зачем говоритьNode.jsПроцесс разбора модуля на самом деле говорить оTSЕще одна стратегия синтаксического анализа модуля, чтобы проложить путь ---NodeСтратегия разрешения модулей.

потому чтоNodeСтратегия разрешения модулей — это попытка имитации во время выполненияNode.jsПолитика разрешения модуля

22Node.js的模块解析过程.png

Стратегия разрешения узловых модулей

NodeИмитация стратегии разрешения модуляNode.jsСтратегия синтаксического анализа во время выполнения для поиска стратегии синтаксического анализа модуля в файле определения модуля во время компиляции, но сNode.jsбудет немного другим

23Node模块解析策略.png

Слияние интерфейсов для слияния объявлений

Объединение объявлений означает, что компилятор объединит объявления с одинаковыми именами в одно объявление.

Слияние объявлений включает в себя слияние интерфейсов. Слияние интерфейсов должно различать функциональные и нефункциональные члены в интерфейсе. Между ними есть различия.

24接口合并.png

Объединить пространства имен

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

25合并命名空间.png

JSX-режим

TSИмеет три режима JSX:preserve,reactа такжеreact-native

26JSX.png

команда тройной косой черты

Инструкция с тремя косыми чертами упоминалась выше, например/// <reference>

Его формат — три косых черты, за которыми следует метка.

27三斜线指令.png

Соответствующие примечания к статье

Изображение выше соответствует некоторым из следующих статей и заметок.

  1. В TS тип данных соответствует JS
  2. По сравнению с JS, каких видов ТС больше
  3. Вы понимаете утверждения типов и защиту типов в TS?
  4. Вы не знакомы с интерфейсом в TS?
  5. Классы и модификаторы в ТС, понимаешь?
  6. Прочтите за одну минуту, наследование классов в TS и абстрактные классы
  7. Узнайте о дженериках в TS за одну минуту
  8. Вы знаете, где и как выводятся типы в TS?
  9. Приходите и посмотрите, некоторые дополнительные функции, которые TS добавляет к функциям JS
  10. TS поддерживает числовые перечисления и перечисления на основе строк.
  11. Вы знаете, на чем основана совместимость типов TS?
  12. Знаете ли вы, в чем разница между типом объединения и типом пересечения в TS?
  13. Расскажите о двух основных различиях между for..of и for..in
  14. Модули TS следуют концепции модулей JS.
  15. Как использовать пространства имен в TS для организации кода
  16. Разделить один файл на разные файлы в TS
  17. Давайте посмотрим, как упростить операции с пространством имен в TS.
  18. Как избежать ловушек пространств имен и модулей в 2 TS
  19. Процесс разбора модуля TS
  20. Знаете ли вы, в чем разница между относительным и не относительным импортом модулей в TS?
  21. Классическая стратегия парсинга модуля TS
  22. Поймите процесс синтаксического анализа модуля Node.js за одну минуту
  23. Узел стратегии парсинга модуля TS
  24. Наиболее распространенное слияние объявлений в TS: слияние интерфейсов
  25. Слияние пространств имен в TS
  26. Три режима JSX TS
  27. Знаете ли вы инструкцию тройной косой черты в TS?

Приложение

Вложения предназначены для2люди с разными потребностями, соответствующие2адреса:

  1. Если вам необходимо сохранить приведенную выше карту мозга, но из-за большого количества изображений сохранять их по одному слишком хлопотно, вы можете скачать их партиями по следующему адресу.点我批量下载
  2. Если вам нужно внести вторичные изменения в соответствии с вашими привычками, вы можете загрузить исходный файл по следующему адресу.点我下载原文件

прошлый обзор

[Рекомендуемая коллекция] 101 карта мозга, изучите Vue3 с нуля (включая последний синтаксис Vue3.2)👍300+

END

Выше приведено все содержание этой статьи.Если у вас есть какие-либо вопросы, пожалуйста, поправьте меня~