typescript中privatepublicprotected修饰符
Posted zhaoljblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript中privatepublicprotected修饰符相关的知识,希望对你有一定的参考价值。
1、默认为public
2、当成员被标记为private时,它就不能在声明它的类的外部访问,比如:
class Animal { private name: string; constructor(theName: string) { this.name = theName; } } let a = new Animal(‘Cat‘).name; //错误,‘name’是私有的
3、protected和private类似,但是,protected成员在派生类中可以访问
class Animal { protected name: string; constructor(theName: string) { this.name = theName; } } class Rhino extends Animal { constructor() { super(‘Rhino‘); } getName() { console.log(this.name) //此处的name就是Animal类中的name } }
4、构造函数也可以被标记为protected。这意味着这个类不能再包含它的类外被实例化,但是能被继承,也就是可以在派生类中被super执行
class Animal { protected name: string; protected constructor(theName: string) { this.name = theName; } } //Rhino能够继承Animal class Rhino extends Person { private food: string; constructor(name: string, food: string) { super(name); this.food = food; } getFood() { return `${this.name} love this ${this.food}` } } let rhino = new Rhino(‘zhao‘, ‘banana‘);
以上是关于typescript中privatepublicprotected修饰符的主要内容,如果未能解决你的问题,请参考以下文章
typescript TypeScript中键入的Redux操作和Reducer的问题
深入浅出TypeScript- 在React项目中使用TypeScript
使用 typescript-eslint 在 VSCode 编辑器中未显示 Typescript 错误
如何使用 TypeScript 2.3 中新增的支持来限制 TypeScript 中 React Children 的类型?