Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Typescript中的私有参数_Angular_Typescript - Fatal编程技术网

Angular Typescript中的私有参数

Angular Typescript中的私有参数,angular,typescript,Angular,Typescript,我第一次在javascript中学习Angular2并使用类 private参数是什么?为什么不能简单地将其设置为heroService:heroService constructor(private heroService: HeroService) { } 看起来像一个(大约在页面的一半处)。基本上,向构造函数参数添加访问修饰符(public/private/protected/readonly)将自动将该参数分配给同名字段 具体而言,从这些文件中: 参数属性是通过在构造函数参数前加前缀来

我第一次在
javascript
中学习
Angular2
并使用

private
参数是什么?为什么不能简单地将其设置为
heroService:heroService

constructor(private heroService: HeroService) { }
看起来像一个(大约在页面的一半处)。基本上,向构造函数参数添加访问修饰符(public/private/protected/readonly)将自动将该参数分配给同名字段

具体而言,从这些文件中:

参数属性是通过在构造函数参数前加前缀来声明的 使用辅助功能修饰符或只读,或两者兼而有之。使用私有 参数属性声明并初始化私有成员; 同样,对于public、protected和readonly也是如此

因此,以下是等效的:

class Foo {
    private bar: string;
    constructor(bar: string) {
        this.bar = bar;
    }
}

class Foo {
    constructor(private bar: string) {}
}

private将为此类(函数)定义此变量的作用域。 如果您有这个类的实例,public将允许从外部访问。 protected对于抽象超类中的属性很重要。
当我开始使用Typescript时,Typescript页面()上的playplace帮助我理解了真正发生的事情。请记住,TypeScript是JavaScript的糖

它是
类{s:s;构造函数(s:s){this.s=s}
的简写。您也可以使用
public
readonly
protected
(但请不要使用
protected
)。@AluanHaddad为什么不使用protected?