《TypeScript图形渲染实战:2D架构设计与实现》 —2.2.3 IDoom3Token接口方法的实现

举报
华章计算机 发表于 2019/12/11 12:23:50 2019/12/11
【摘要】 本节书摘来自华章计算机《TypeScript图形渲染实战:2D架构设计与实现》 一书中第2章,第2.2.3节,作者是步磊峰。

2.2.3  IDoom3Token接口方法的实现

  接下来看一下Doom3Token类的其他几个接口方法的实现。具体代码如下:

 

// 使用get关键字来定义属性,get定义只读属性,set定义只写属性

public get type ( ) : ETokenType {

    return this . _type ;

}

//获取当前Token的字符串值

public getString ( ) : string {

    // _charArr数组中存放的都是单个字符序列,例如["d","o","o","m","3"]

    // 可以使用数组的join方法将字符串联成字符串

    // 下面使用join方法后,会返回doom3这个字符串

    return this . _charArr . join ( "" ) ;

}

// 获取当前Token的浮点值

public getFloat ( ) : number {

    return this . _val ;

}

// 获取当前Token的int类型值

public getInt ( ) : number {

    // 使用parserInt()函数

    // 第一个参数是一个字符串类型的数字表示

    // 第二个参数是进制,一般用十进制

    return parseInt ( this . _val . toString ( ) , 10 ) ;

}

 

  下面来看一个字符串比较的接口方法的实现。具体代码如下:

 

public isString ( str : string ) : boolean {

    let count : number = this . _charArr . length ;

    // 字符串长度不相等,肯定不等

    if ( str . length !== count ) {

        return false ;

    }

    // 遍历每个字符

    for ( let i : number = 0 ; i < count ; i++ ) {

     // _charArr数组类型中每个char和输入的string类型中的每个char进行严格比较

    (!==操作符而不是!=)

     // 只要任意一个char不相等,意味着整个字符串都不相等

        if ( this . _charArr [ i ] !== str [ i ] ) {

            return false ;

        }

    }

    // 完全相等

    return true ;

}


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。