TypeScript · Intermediário · Português · Técnico
target e lib
Duas opções do tsconfig: target define a versão do JavaScript gerado, e lib define quais APIs embutidas o compilador conhece, como Promise ou DOM. Sem lib, vale o do target.
Onde usar
Aparece em erros como 'Property includes does not exist on type string', que indicam lib antiga demais. Alvos modernos, como ES2022, deixam o compilador emitir classes e async nativos.
Em código
{
"compilerOptions": {
"target": "ES2022",
"lib": ["ES2023", "DOM"]
}
}Exemplos
Subi o target para ES2022 e adicionei DOM na lib.
O erro sumiu quando coloquei uma lib mais nova no tsconfig.
Cuidado
O target não adiciona polyfills: ele só reescreve a sintaxe, e APIs novas ausentes no runtime continuam faltando.