Anúncio do TypeScript 4.0
(devblogs.microsoft.com)<p>- Suporte a tipos de tupla variádicos*<br />
→ É possível fazer spread de tipos genéricos <br />
→ O operador `...` também pode aparecer no meio. <br />
- Suporte a rótulos em tuplas<br />
- Adição dos operadores &&=, ||=, ??= <br />
- É possível definir o tipo de `catch` como unknown ou any <br />
→ Ao usar unknown, isso deixa explícito que é obrigatório fazer verificação de tipo com typeof/instanceof etc. antes do tratamento<br />
- Ao usar JSX, é possível personalizar com `jsxFragmentFactory`<br />
- É possível inferir tipos de propriedades a partir do construtor<br />
- Mesmo ao usar a opção `--noEmitOnError`, o resultado de compilação anterior é armazenado em cache, melhorando a velocidade de build <br />
- É possível usar `-incremental` e `--noEmit` juntos <br />
<br />
Melhorias no editor (Visual Studio Code)<br />
- Recurso de conversão automática para Optional Chaining & Nullish Coalescing<br />
- Suporte a `/** @deprecated */`<br />
- Suporte ao Partial Semantic Mode na inicialização — executa um servidor leve aplicado apenas a alguns arquivos de código abertos para reduzir o tempo de carregamento em projetos grandes<br />
- Recurso de Auto-Import mais inteligente <br />
<br />
Mudanças incompatíveis <br />
- Alterações nos tipos relacionados ao DOM em `lib.d.ts` <br />
→ `document.origin` foi removido e recomenda-se usar `self.origin` <br />
- Ao sobrescrever getter/setter da classe pai, sempre será exibido erro <br />
- Quando `strictNullChecks` estiver ativado, o operando de `delete` deve ser any, unknown, never ou optional<br />
<br />
* Variádico: significa receber uma quantidade não fixa de argumentos. Ex.: os argumentos de `printf`</p>
1 comentários