Angular 为什么可以将导出的类分配给ionic2中的变量?

Angular 为什么可以将导出的类分配给ionic2中的变量?,angular,typescript,ionic-framework,Angular,Typescript,Ionic Framework,在settings.ts中,我有以下代码: @Component({ selector: 'page-settings', templateUrl: 'settings.html' }) export class SettingsPage { } } settingsPage = SettingsPage; 在app.component.ts中,我们可以编写以下代码: @Component({ selector: 'page-settings', templateUrl

在settings.ts中,我有以下代码:

@Component({
  selector: 'page-settings',
  templateUrl: 'settings.html'
})
export class SettingsPage {

  }
}
settingsPage = SettingsPage;
在app.component.ts中,我们可以编写以下代码:

@Component({
  selector: 'page-settings',
  templateUrl: 'settings.html'
})
export class SettingsPage {

  }
}
settingsPage = SettingsPage;

为什么可以将类名SettingsPage分配给变量

从技术上讲,Typescript是JavaScript的超集。由于类在JS中实际上并不是严格意义上存在的,所以它们被实现为带有一些额外属性的对象


因此,您所做的只是获取一个包含一组方法和属性的对象SettingsPage,并将其分配给变量SettingsPage。

但当我使用SettingsPage分配SettingsPage时,请使用console.logsettingsPage打印输出。然后我用新的settingsPage分配settingsPage,console.logsettingsPage,这两次的输出是不同的。我应该何时使用settingsPage=settingsPage,何时使用settingsPage=new settingsPage?