TypeScript
Aprenda TypeScript de ponta a ponta. Tipos, interfaces, generics, classes, modulos, utility e mapped types, declaration files, e o compilador.
18 lições, em ordem
- 120 min
Ola, TypeScript
Aqui vai um pequeno programa JavaScript completamente quebrado, e que o JavaScript vai executar sem reclamar:
What TypeScript isTsc compile stepRunning a .ts fileThe play button - 225 min
Type Basicos
Você já sabe rodar um arquivo .ts. Agora vamos conhecer as peças mais básicas: os tipos primitivos que vêm com o TypeScript, mais as duas saídas de...
Primitive typesStringNumberBooleanNullUndefined+3 - 325 min
Arrays e Tuples
Um valor sozinho raramente basta. Você tem uma lista de temperaturas, uma lista de nomes, uma lista de preços. E no instante em que existe uma lista,...
Array typesReadonly arraysTuple typesFixed-length tuplesNamed tuple elements - 425 min
Object Types e Interfaces
Primitivos e arrays levam você bem longe, mas a maior parte dos dados reais tem um formato: um usuário tem nome e idade, uma requisição tem método e...
Object literal typesInterface keywordRequired vs optional propertiesStructural typingExcess property checks - 525 min
Funcoes
É nas funções que mora a maior parte dos bugs, e é nelas que os tipos mais compensam. A assinatura de uma função (os parâmetros e o tipo de retorno)...
Parameter typesReturn typesVoid returnDefault parametersRest parametersFunction type expressions+1 - 625 min
Union e Literal Types
Alguns valores não são uma coisa só. Uma função que procura um usuário ou acha um, ou não acha. Um campo de formulário guarda ou um número que o...
Union typesString literal typesNumeric literal typesLiteral narrowing with as constUnion of object shapes - 730 min
Type Narrowing
Um union diz "este valor é de um destes tipos". O estreitamento é o processo pelo qual o compilador descobre qual deles é, a partir das verificações...
Typeof narrowingTruthiness narrowingEquality narrowingIn operator narrowingInstanceof narrowingDiscriminated unions+1 - 820 min
Type Aliases vs Interfaces
Você vem escrevendo formatos de objeto direto no lugar de uso, e isso funcionou bem porque os formatos eram pequenos. Agora veja esta assinatura de...
Type aliasesInterface declarationsExtending interfacesIntersection typesDeclaration mergingWhen to pick which - 925 min
Optional, Readonly e Nullable
O erro de execução mais comum de todos em JavaScript é este:
Optional propertiesReadonly propertiesNon-null assertion operatorOptional chainingNullish coalescingStrictNullChecks - 1020 min
Enums
Alguns valores vêm de uma lista curta e fixa. Um pedido está pendente, enviado ou entregue. Uma linha de log é debug, info, warn ou error. Uma...
Numeric enumsString enumsConst enumsEnums vs string literal unionsReverse mapping caveats - 1130 min
Generics
Você precisa de uma função que receba um array e devolva o primeiro elemento. Fácil:
Generic functionsGeneric interfacesType parametersType inference for genericsBounded generics with extendsDefault type parameters - 1225 min
Classes
Veja uma conta bancária escrita como um objeto comum:
Class declarationsConstructorsInstance propertiesAccess modifiers (public, private, protected)Readonly fieldsParameter properties+1 - 1325 min
Heranca e Abstract Classes
Você escreveu três classes para um sistema de pagamentos: CardPayment, BankTransfer e Voucher. As três têm um amount, uma currency e um createdAt. As...
Extends keywordSuper callsMethod overrideAbstract classesAbstract methodsImplements with interface - 1425 min
Modules
Todo arquivo TypeScript é um módulo por conta própria. No instante em que um arquivo ganha um import ou um export, os nomes do nível mais externo...
ES module syntaxNamed exportsDefault exportType-only importsRe-exportsModule resolution basics - 1530 min
Utility Types
O TypeScript já vem com uma pequena biblioteca de tipos genéricos que recebem um tipo como entrada e devolvem um tipo transformado como saída. Os...
Partial<T>Required<T>Readonly<T>Pick<T, K>Omit<T, K>Record<K, V>+2 - 1630 min
Mapped e Conditional Types
Os utility types que você acabou de usar (Partial, Pick, Record, ReturnType) são todos construídos a partir de dois recursos da linguagem: mapped...
Keyof operatorMapped types syntaxKey remapping with asConditional typesInfer keywordDistributive conditional types - 1725 min
Declaration Files e Bibliotecas
Você instala uma biblioteca, importa, e o editor passa a oferecer autocompletar, dicas de parâmetros e a forma exata de cada valor de retorno. Você...
.d.ts filesDefinitelyTyped (@types packages)Ambient declarationsDeclare moduleTypeRoots and types option - 1830 min
tsconfig e o Compiler
tsconfig.json é o arquivo que o compilador do TypeScript lê para descobrir o que compilar e como. São mais de cem opções, mas um projeto real usa...
Tsconfig.jsonStrict modeTarget and libModule and moduleResolutionOutDir and rootDirIncremental and watch+1
Aprenda TypeScript no seu idioma
Cada lição, quiz e resposta do tutor aparece no seu idioma. O tutor de IA responde no idioma em que você pergunta.
Roles that use TypeScript
See how hiring teams interview engineers on TypeScript, in production-like environments.
Frontend Engineer (React, Angular, Vue)
Hire frontend engineers in real workspaces with Vite, real component libraries and real performance budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interviewWeb Application Engineer
Hire web application engineers in real apps with real routes, real auth and real test suites. Live or take-home, fully recorded.
See the interview