TypeScript Essentials

На одну сторінку

Шпаргалка · TypeScript Essentials

Те, що варто тримати під рукою. Якщо рядок незрозумілий — повернись у відповідний урок, не гугли десять статей поспіль.

Типи

ЩоЯк
Літералtype Status = "idle" | "loading"
Об'єктtype User = { id: string; name?: string }
Масивstring[] / Array<User>
Кортежtype Pair = [string, number]
Функціяtype Fn = (x: string) => void
Перетинtype A = B & C

Звуження

ЩоЯк
typeofif (typeof x === "string")
рівністьif (x.kind === "circle")
inif ("error" in result)
instanceofif (e instanceof Error)
guardfunction isUser(x: unknown): x is User

Утиліти

ЩоЯк
PartialPartial<User>
Pick / OmitPick<User, "id"> Omit<User, "email">
RecordRecord<"a" | "b", number>
keyoftype K = keyof User
typeoftype R = typeof routes
AwaitedAwaited<ReturnType<typeof fn>>

Не роби так

ЩоЯк
anyвимикає перевірку по ланцюжку
as Userне валідує дані з API
!user.email! — ти обіцяєш те, чого може не бути
Functionпиши (x: T) => R
objectпиши конкретні поля