xcatliu / typescript-tutorial

TypeScript 入门教程
https://ts.xcatliu.com
10.44k stars 1.33k forks source link

`参数属性`特性 #117

Closed Bit0r closed 4 years ago

Bit0r commented 4 years ago

的那一章有个参数属性特性没有加入,希望能加上这个特性。以下是官网原话

参数属性可以方便地让我们在一个地方定义并初始化一个成员,例如:

class Octopus {
readonly numberOfLegs: number = 8;
constructor(readonly name: string) {
}
}

注意看我们是如何舍弃了theName,仅在构造函数里使用readonly name: string参数来创建和初始化name成员,我们可以把声明和赋值合并至一处。 参数属性通过给构造函数参数前面添加一个访问限定符来声明。 使用private限定一个参数属性会声明并初始化一个私有成员;对于publicprotected来说也是一样。