两个声明之间有什么区别:和角2中的=?

时间:2016-08-26 08:59:43

标签: typescript

角度代码

export class AppComponent implements OnInit {
    hero = 'Ram'; // line 1
    hero: 'Ram'; // line 2
}

我真的不明白line1和line2之间的区别。请帮帮我

2 个答案:

答案 0 :(得分:2)

运算符=用于分配值,而运算符:用于分配类型。我们假设你有这个代码:

hero = 'Ram';
hero1: 'Ram';

如果您尝试执行console.log(hero),则会打印Ram,因为您要为变量Ram分配值hero,而console.log(hero1)可能会打印undefined {1}}因为您已将变种Ram分配给变量hero1,但您没有为其分配任何值。

答案 1 :(得分:2)

实际上它很容易,第1行意味着你设置了值" Ram"英雄,所以我猜它是英雄的名字? 基本上,你使用':'设置特定的变量类型。

例如,如果我输入:let name:boolean = false;我的变量名称将被视为布尔值。 默认情况下,如果您没有使用:type指定类型,则它将是:any,就像任何JavaScript变量一样。

另外,正如Amit所说,它与Typeular问题的关系比Angular2更多。