TypeScript: void возвращаемый тип, преобразованный в любой тип?

Кажется, я не в состоянии понять, почему следующий код не вызывает ошибку:

var rg: {(): void;}[] = [];
rg.push(function():string {return "";})

Я четко заявляю, что тип должен быть массивом функций, которые возвращаютvoidОднако я нажимаю там функцию, которая возвращаетstring и все же компилятор не жалуется. Если я изменю определениеrg в

var rg: {():number;}[] = [];

Компилятор начинает жаловаться.

Является ли это ошибкой или именно так должен работать возвращаемый тип void (т.е.void используется, в основном делает его таким же, как тип возвратаany)?

Ответы на вопрос(2)

Ваш ответ на вопрос