Apêndice C. Declarações com escopo
As declarações do Typescript têm um rico conjunto de comportamentos necessários para modelar tipos e valores e, como no JavaScript, podem ser sobrecarregadas de várias maneiras. Este apêndice cobre dois desses comportamentos, resumindo quais declarações geram tipos (e quais geram valores) e quais declarações podem ser mescladas.
Gera um tipo?
Algumas declarações do Typescript criam um tipo, algumas criam um valor e algumas criam ambos. Consulta a Tabela C-1 para uma referência rápida.
| Palavra-chave | Gera um tipo? | Gera um valor? |
|---|---|---|
|
Sim |
Sim |
|
Não |
Sim |
|
Sim |
Sim |
|
Não |
Sim |
|
Sim |
Não |
|
Não |
Sim |
|
Sim |
Não |
Funda-se?
A fusão de declarações é um comportamento central do Typescript. Tira partido dele para criar APIs mais ricas, modularizar melhor o teu código e tornar o teu código mais seguro.
A Tabela C-2 foi reimpressa de "Declaration Merging"; é uma referência útil para saber quais tipos de declarações o Typescript mesclará para ti.
| Para | |||||||||
Valor |
Classe |
Enum |
Função |
Tipos alias |
Interface |
Espaço de nome |
Módulo |
||
Valor |
Não |
Não |
Não |
Não |
Sim |
Sim |
Não |
- |
|
Classe |
- |
Não |
Não |
Não |
Não |
Sim |
Sim |
- |
|
Enum |
- |
- |
Sim |
Não |
Não |
Não |
Sim |
- |
|
De |
Função |
- |
- |
- |
Não |
Sim |
Sim |
Sim |
- |
Tipo alias |
- |
- |
- |
- |
Não |
Não |
Sim |
- |
|
Interface |
- |
- |
- |
- |
- |
Sim |
Sim |
- |
|
Espaço de nome |
- |
- |
- |
- |
- |
- |
Sim |
- |
|
Módulo |
- |
- |
- |
- |
- |
- |
- |
Sim |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access