我正在关注官方的Angular 2教程,然后我看到了这段代码:
const HEROES: Hero[] = ...
我不明白在HEROES之后冒号是怎样的,我在JavaScript和TypeScript中找不到关于冒号使用的任何文档。我认为冒号只用于对象“key:value”和三元运算符。
export class Hero {
id: number;
name: string;
}
const HEROES: Hero[] = [
{ id: 11, name: 'Mr. Nice' },
{ id: 12, name: 'Narco' },
{ id: 13, name: 'Bombasto' },
{ id: 14, name: 'Celeritas' },
{ id: 15, name: 'Magneta' },
{ id: 16, name: 'RubberMan' },
{ id: 17, name: 'Dynama' },
{ id: 18, name: 'Dr IQ' },
{ id: 19, name: 'Magma' },
{ id: 20, name: 'Tornado' }
];
你能帮我理解这个冒号语法吗?
其他问题的答案没有解释打字稿,而且它是一种特殊的语法。
答案 0 :(得分:1)
这是基本的打字稿声明和初始化。有关详细信息,请参阅此链接
https://www.typescriptlang.org/docs/handbook/basic-types.html
答案 1 :(得分:1)
这是TypeScript代码,这就是你在TypeScript中声明(注释)变量type的方法。声明意味着HEROES
的类型应为Hero[]
,即Hero
个对象的数组。
var HEROES: Hero[];
TypeScript编译器将使用此信息来防止对此变量的错误分配 - 例如,您无法将number
分配给HEROES
(不仅仅因为后者是常量)你的代码,但因为它是一个类型错误)。
类型声明可以在强类型编程语言中找到;例如,C#中的等价物将是:
Hero[] HEROES;
答案 2 :(得分:0)
const HEROES: Hero[] = [
...
];
:
是一种在TypeScript语言中指定变量类型的方法,此处HEROES是一个Hero实例数组。
这种表示法称为类型注释,请参考this。