Inferring Types of Functions
O compilador pode também inferir tipos em generic types que aceita functions, como mostrado no código abaixo:
O tipo condicional Result<T> usa a palavra-chave infer para obter o tipo de retorno de uma função que aceita um objeto do tipo T e produz um resultado any. O uso da inferência de tipos permite que funções que processam um tipo específico sejam utilizadas, garantindo que o resultado da função processArray seja um tipo específico, baseado no resultado da função fornecida como parâmetro func
A função selectName retorna o valor string da propriedade name de um objeto Product, e a inferência significa que Result<(args: Product) => string> é corretamente identificado como string, permitindo que processArray retorne um string[].
Tipos condicionais embutidos com inferência
Nome | Descrição |
|---|---|
Parameters | Seleciona os tipos de cada parâmetro da função, expressos como uma tupla. |
ReturnType | Seleciona o tipo de retorno da função (equivalente a |
ConstructorParameters | Seleciona os tipos de cada parâmetro de uma função construtora, como tupla. |
InstanceType | Retorna o tipo resultante de uma função construtora. |