TypeScript: void return type convertido a cualquier tipo?
Parece que no puedo comprender por qué el siguiente código no genera un error:
var rg: {(): void;}[] = [];
rg.push(function():string {return "";})
Indico claramente que el tipo debe ser una matriz de funciones que devuelvenvoid
Sin embargo, presiono allí una función que devuelve unstring
Y sin embargo el compilador no se queja. Si cambio la definición derg
a
var rg: {():number;}[] = [];
El compilador comienza a quejarse.
¿Se trata de un error o es cómo se supone que funciona el tipo de retorno nulo (es decir, todo vale sivoid
Se utiliza, básicamente, haciendo que sea el mismo que el tipo de retornoany
)?