可以使用TypeScript的interface关键字来定义接口,具体代码如下所示:

  1. export interface IDoom3Token {
  2. reset ( ) : void ;
  3. isString ( str : string ) : boolean ;
  4. readonly type : ETokenType ;
  5. getString ( ) : string ;
  6. getFloat ( ) : number ;
  7. getInt ( ) : number ;
  8. }

  关于IDoom3Token接口中大部分方法的应用,在上一节的代码中有演示,还是比较简单的。这里看一下type这个只读属性,该属性使用了readonly声明,意味着其值只能被读取,不能被更改。同时type的数据类型为ETokenType,是一个枚举类型。在TypeScript中,我们可以使用enum关键字来定义枚举类型,具体代码如下所示:

  1. export enum ETokenType {
  2. NONE , // 0 default情况下,enum定义的枚举值是以0开始的数字类型
  3. STRING , // 1 表示字符串类型
  4. NUMBER // 2 表示数字类型
  5. }

  最后看一下IDoom3Tokenizer的接口定义,代码如下所示:

  1. export interface IDoom3Tokenizer {
  2. setSource ( source : string ) : void ; //设置要解析的字符串
  3. reset ( ) : void ; // 重置当前索引为0
  4. getNextToken ( token : IDoom3Token ) : boolean ; // 获取下一个token
  5. }