小编nup*_*ick的帖子

TypeScript:在类上调用 typeof 时如何工作?

据我了解,TypeScript“typeof”运算符执行类型查询,并允许您确保两个对象的类型相同,即使该类型未命名。但是,我在生产中发现了一些执行以下操作的代码:

function println (x) {
  document.write(x + '<br\>');
}

class SettingsBase {
  public static setting1: string;
  public static setting2: string;
}

class SettingsUser {
  private _settings: typeof SettingsBase;

  constructor(settings: typeof SettingsBase) {
    this._settings = settings;
  }

  public doStuff() {
    println(this._settings["setting1"]);
  }
}

class MySettings extends SettingsBase {
  public static setting1 = "foo";
  public static setting2 = "bar";
}

var baz = new SettingsUser(MySettings);
baz.doStuff();
Run Code Online (Sandbox Code Playgroud)

在 中SettingsUser,构造函数接受一个类型为 的参数typeof SettingsBase。“typeof”一个类是什么意思?我不认为这应该工作,我可能会重构它,但我想知道它首先是如何工作的。

typeof typescript

2
推荐指数
1
解决办法
747
查看次数

标签 统计

typeof ×1

typescript ×1