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