我对角度分量内部的变量声明感到困惑,想知道为什么我们以下面的方式声明变量的目的
export class AppComponent {
serverElements = [];
newServerName = '';
newServerContent = '';
}
以及我们为什么不使用打字稿的type声明。
答案 0 :(得分:2)
...想要了解目的,为什么我们以下面的方式进行声明...
这些是带有初始化程序的属性声明。产生的属性将存在于该类的实例上(并且将是公共的,就像它们前面有public
一样。)
...以及为什么我们不使用打字稿的类型声明...
TypeScript将根据初始化值(在the documentation中提供更多信息)来推断类型。如果要在定义某项内容时进行初始化,则通常无需显式提供该类型。
也就是说,serverElements
应该有一个类型,因为它最终将是never[]
(在TypeScript的最新版本中),这可能不是作者想要的。例如,如果它应该是ServerElement
个实例的数组:
export class AppComponent {
serverElements: ServerElement[] = [];
newServerName = '';
newServerContent = '';
}
newServerName
和newServerContent
都被推断为string
,这是合理的。