本文列举了 ts 的几种不常见用法,分别是:
- 函数重载
- 接口继承
- 类的内容
- 属性关键字
- 存储器
getter
setter
extends
vsimplements
- 泛型类
函数重载 ( Function Overloading )
这种其实可以用可选参数 + 或者类型替代,但如果把所有函数返回类型都列出,会清晰点:
1 | // Overloading: |
接口继承 ( Interface Extend )
1 | interface Parent1 { |
类 ( Class )
定义属性
在ts里,所有属性需要在 constructor
之前规定其属性,如以下示例:
1 | class Article { |
public
,private
, protected
, static
, readonly
关键字
1 | class Artical { |
getter
setter
和私有值
- 私有属性,不想被外部访问,命名一般用下划线区分
- 一般一个私有值,对应一个
getter
,setter
存储器
1 | class User { |
抽象类 abstract
vs 实现接口implements interface
abstract
用于给子类继承用,不单独做实例化implements
和abstract
的区别是,implements
可以实现多个接口interface
, 而extends
只能继承一个抽象类
1 | abstract class Animal { |
当然,他们还能同时使用,但 extends
必须用在 implements
之前:
1 | class Dog extends Animal implements AnimalName, AnimalVoice { |
泛型类
泛型除了应用在函数,还可以放在类里应用:
1 | class TestGenric<T> { |