Kuest AI

Изучайте что угодно — бесплатно

Начать бесплатно

Изучайте TypeScript в 10 раз быстрее с ИИ

Вставьте ошибку типа, которая вас остановила. Kuest поможет её понять, спросит, какой тип вы имели в виду, и объяснит, как всё исправить.

817,000+учеников уже занимаются с Kuest

тем
9
Компилируется в
JavaScript
Сначала изучите
JavaScript
Используется с
React, Node.js, Angular

Посмотрите, как объясняет Kuest

Сначала он спрашивает, а потом объясняет — так вы думаете сами и лучше запоминаете.

Вы: const user = users.find(u => u.id === id); console.log(user.name); выдаёт 'user' is possibly 'undefined'. Почему?
Kuest: Подумайте, что делает find, когда ничего не совпало. Что она тогда возвращает?
Вы: Думаю, undefined. Если у пользователя нет такого id, возвращать нечего.
Kuest: Верно: значит, её возвращаемый тип — User | undefined. Что произойдёт во время выполнения, если обратиться к .name у undefined?
Вы: Программа упадёт с TypeError. Значит, TypeScript предупреждает меня до того, как это случится.
Kuest: Именно. Как показать TypeScript, что вы обработали этот случай?
Вы: Сначала проверить: if (!user) return; тогда user.name безопасен. Или использовать user?.name, если undefined можно вывести в лог.

find возвращает T | undefined, поэтому перед использованием результата сузьте тип проверкой или ?.

Ученики, которые всерьёз занимаются с Kuest

учеников
817,000+
стран
100+
  • С C до A по химии

    “Я перестал списывать ответы и начал по-настоящему понимать. За один семестр моя оценка по химии выросла с C до A.”

    11-й класс, Техас
  • 3 часа → 40 минут

    “Мои конспекты за секунды превращаются в тест. То, на что раньше уходил весь вечер, теперь занимает столько же, сколько одна серия.”

    10-й класс, Калифорния
  • Наконец готов к SAT

    “План точно говорил, что делать каждый день. Впервые я пришёл на экзамен спокойным.”

    12-й класс, Нью-Йорк
  • Не даёт мне пропустить ни шаг

    “Сначала раздражало, но в день теста это спасло. Я смог решить каждую задачу без него.”

    9-классник, Огайо
  • Лучше, чем мой репетитор

    “Он доступен и в полночь, терпелив и стоит меньше, чем одно занятие с моим прежним репетитором.”

    Студент 1-го курса, Флорида
  • Моя серия — уже 94 дня

    “Квесты занимают десять минут. Я делаю их в автобусе. И каким-то образом теперь уже я объясняю друзьям биологию.”

    11-классник, Джорджия
  • Испанский наконец стал понятен

    “Разговоры вслух с тьютором помогли исправить произношение быстрее, чем целый год занятий.”

    10-классник, Аризона
  • Нашёл пробелы за один вечер

    “Проверка пробелов показала, что я вообще не понимал моли. Разобрался за 15 минут.”

    11-классник, Джорджия
  • Родитель на связи: больше никаких срывов в 9 вечера

    “Мой сын получает настоящую помощь, а мне не нужно делать вид, что я помню матанализ. И я каждую неделю вижу его прогресс.”

    Родитель, Вашингтон

Методика

Как изучать TypeScript с Kuest

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

  1. Опирайтесь на JavaScriptЧат с наставником

    Спрашивайте, как типизируется знакомый вам паттерн JavaScript: объект, колбэк или вызов fetch.

  2. Расшифровывайте ошибки типовСфотографировать

    Вставьте ошибку и код вокруг неё или сделайте снимок редактора — Kuest поможет понять, что сообщает TypeScript.

  3. Смотрите, как связаны типыУчебная доска

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

  4. Предсказывайте типКвизы

    Отвечайте на вопросы: какой тип у переменной после проверки или скомпилируется ли строка кода.

  5. Держите синтаксис под рукойКарточки

    Повторяйте вспомогательные типы, синтаксис дженериков и параметры tsconfig в интервальных карточках.

  6. Работайте над слабыми местамиПоиск пробелов

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

Что вы изучите

Нажмите на тему, чтобы начать изучать её сейчас.

  1. 01Зачем нужны типы и компиляторРазберитесь, что проверяет tsc и как TypeScript компилируется в JavaScript
  2. 02Базовые типы и аннотацииАннотируйте переменные, параметры и возвращаемые значения, а остальное доверьте выведению типов
  3. 03Объекты, псевдонимы типов и интерфейсыОписывайте форму объектов с помощью type и interface и выбирайте между ними
  4. 04Union-типы и сужение типовОбъединяйте типы через | и сужайте их проверками typeof, in и равенства
  5. 05null, undefined и строгий режимОбрабатывайте возможно undefined-значения проверками, ?. и ?? вместо !
  6. 06Функции и перегрузкиТипизируйте колбэки, необязательные параметры и функции с разными типами возвращаемых значений
  7. 07ДженерикиПишите переиспользуемые функции и типы с <T> и ограничениями вроде extends
  8. 08Вспомогательные типыПреобразуйте типы с помощью Partial, Pick, Omit и Record
  9. 09Типизация реальных проектовТипизируйте props React, ответы API и модули, а также настраивайте tsconfig.json

Попробуйте спросить

Нажмите на вопрос — и Kuest начнёт объяснять его шаг за шагом.

Поможет подготовиться к

  • Курсы веб-разработки
  • Буткемпы и работа над проектами

Месяц с Kuest стоит дешевле часа с репетитором

То же терпение, в любое время, по любому предмету. Или оставайтесь на бесплатном плане навсегда.

Репетитор

$40–80за один час

  • Запись за несколько дней
  • Один предмет за занятие
  • Занятие заканчивается через час

Kuest Plus

$10в месяц при оплате за год

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

Ответы на вопросы

Ваша следующая учебная сессия начинается здесь

Бесплатный план навсегда. Карта не нужна.

Начать бесплатно