Texto datilografado: mesmo tipo genérico que o tipo resolvido do parâmetro anterior
Gostaria de saber como especificar esse tipo genérico se for o mesmo do tipo resolvido do argumento anterior, quando o tipo puder ser de vários tipos.
function add<T extends (number | string)>(a: T, b: T): T {
if (typeof a === 'string') {
return a + b;
} else if (typeof a === 'number') {
return a + b;
}
}
add('hello', ' world');
add(1, 1);
Eu quero poder dizer ao compilador que tudoT
são do mesmo tipo, número ou sequência. Eu poderia ter perdido alguma sintaxe. Pode ser possível com tipos condicionais (até certo ponto) ...