void Tipo void
Última atualização: 2026-10-22
void Tipo void
void significa "sem valor de retorno significativo". Use-o para loggers e callbacks de eventos, indicando aos chamadores que não devem esperar um resultado.
| Grupo | Tipos Básicos |
|---|---|
| Tipo | Tipo |
| Modo strict | Não necessário |
ℹ️ Info O editor transpila TypeScript para JavaScript e o executa (sem verificação de tipos); veja a Saída de cada exemplo para o resultado da verificação.
📝 Sintaxe
function log(msg: string): void {
console.log(msg);
}
type Handler = (event: string) => void;
⚙️ Parâmetros
| () => void | void na posição de retorno do tipo de callback: implementações podem retornar valores, chamadores os ignoram |
|---|
Retorno:void é ele próprio o tipo de retorno: funções anotadas com ele não têm resultado significativo; sob strict, usar seu valor de retorno produz void.
▶ Exemplo
Edite o código abaixo e clique em Testar para ver o resultado transpilado:
Saída:
[event] click
[warn] low battery
(Saída de execução após a transpilação; escrever return 5 dentro de logEvent é um erro de compilação)
💡 Observações
ℹ️ Info Funções void permitem return; (retorno simples) e return undefined, mas não retornar outros valores.
💡 Dica Tipar callbacks de evento como (e: Event) => void é o padrão: implementações podem retornar qualquer coisa sem quebrar o contrato.
⚠️ Atenção void difere de undefined: undefined é um tipo de valor real, void é uma declaração de intenção — não os misture.
🏷️ Tipos Básicos Relacionados
💡 Casos relacionados
Mais casos em breve.
📚 Tutoriais relacionados
❓ Perguntas frequentes
P void vs undefined como tipo de retorno?
R () => undefined exige retornar undefined explicitamente; () => void apenas declara "sem resultado utilizável" e é mais livre. Callbacks normalmente usam void.
P Posso atribuir o resultado de uma função void a uma variável?
R Sintaticamente sim (a variável fica do tipo void), mas é apenas undefined e inútil. Evite sob strict.
P O que significa Promise<void>?
R A promise se resolve sem dados — a operação assíncrona apenas sinaliza conclusão (ex.: um salvamento). APIs que retornam dados devem usar Promise<T>.