Преобразовать тип обратно в значение - PullRequest
0 голосов
/ 04 декабря 2018

Я преобразовываю класс в тип, но хочу преобразовать этот тип обратно в класс.Скажем, у меня есть этот класс:

export namespace Entities{
  export namespace Bar{
    export class Foo {

    }
  }
}

, а затем у меня есть ссылка на тип:

type F = Entities.Bar.Foo;

Есть ли способ преобразовать F обратно в значение вместо типа?

что-то вроде:

const V = valueof F;

, где V будет просто ссылкой на класс Foo.

(я думаю, что странно то, что класс в TypeScript является одновременнотип и значение / выражение).

Причина , которую я спрашиваю , заключается в том, что у меня есть такой сценарий:

type F = Entities.Bar.Foo;
const x = doSomethingWithClass(Entities.Bar.Foo);

, но я хотел бы преобразовать его в этот сценарий:

type F = Entities.Bar.Foo;
doSomethingWithClass(F);

но это не компилируется, я получаю:

Не могу использовать тип F в качестве выражения.

альтернативно , если кто-то знает, как вернуть тип из функции, этого может быть достаточно:

type F = doSomethingWithClass(Entities.Bar.Foo);
...