带有访问修饰符的构造函数参数vs没有访问修饰符w.r.t访问整个类

时间:2018-06-08 09:28:32

标签: angular

Angular 5

为什么只有在构造函数的签名中使用访问修饰符限定的变量才能在整个类中被识别?

例如。

constructor(private n: number) { 
} 

fn(){
  this.n = 6; //Allowed
}

constructor(n: number) { 
} 

fn(){
  this.n = 6; //Not allowed
}

2 个答案:

答案 0 :(得分:1)

简单变量范围。

写作时

constructor(x) {}

x只能在constrcutor中访问。

使用访问修饰符,您可以将其定义为类成员,从而将范围更改为类。

答案 1 :(得分:0)

因为,当您使用带有私有访问修饰符的输入参数定义构造函数时,它会告诉您的类创建该属性。

当你没有访问修饰符(默认是公共的)时,你应该自己定义该类属性。

更多关于你可以阅读这些页面以便更好地理解它:

Classes in Typescript

而且,这是一个有用答案的相同问题:

CLICK