《TypeScript图形渲染实战:2D架构设计与实现》 —2.1.3 ES 6中的模板字符串

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

2.1.3  ES 6中的模板字符串

  在此强调一下,使用ES 6中的模板字符串是很不错的一种体验。笔者认为ES 6模板字符串一个最大的优点是:可以一次定义多行字符串,并且保证空格和缩进,而单引号或双引号只能定义单行字符串。下面来看一下笔者经常使用的定义多行字符串的3种方式。

  (1)在一行字符串中添加\n转义换行符,这种方式耗时又容易出错。具体代码如下:

 

let str1 : string = " numMeshes 5 \n /** \n * joints关键词定义了骨骼动画的

bindPose \n */ \n joints { \n 'origin'-1 ( 0 0 0 ) ( -0.5 -0.5 -0.5 )

\n 'Body'0 ( -12.1038131714 0 79.004776001 ) ( -0.5 -0.5 -0.5 ) // origin

\n } " ;

 

  (2)使用+=符号拼接字符串,代码如下:

 

let str2: string = " numMeshes  5 " ;

            str2 += " /* " ;

            str2 += " * joints关键词定义了骨骼动画的bindPose " ;

            str2 += " */ " ;

            str2 += " joints { " ;

            str2 += "  'origin'  -1  ( 0 0 0 )  ( -0.5  -0.5  -0.5 ) " ;

            str2 += "  'Body'    0  ( -12.1038131714  0  79.004776001 ) 

            ( -0.5 -0.5 -0.5 )   // origin " ;

            str2 += " } " ;

 

  (3)使用数组方式并调用join()函数将数组拼接成字符串,这种方式相对来说比较清晰,代码如下:

 

let str3: string = [

    " numMeshes  5 " ,

    " /* " ,

    " * joints关键词定义了骨骼动画的bindPose " ,

    " */ " ,

    " joints { " ,

        " 'origin'     -1  ( 0 0 0 )  ( -0.5  -0.5  -0.5 ) " ,

        " 'Body'      0  ( -12.1038131714  0  79.004776001 )  ( -0.5 -0.5 -0.5 )

        // origin " ,

    " } "

] . join( " \n " ) ; 

 

  需要注意的是,以上3种方式中,处理字符串中的子字符串(例如orgin和Body)时,需要使用单引号引起来。

  如果不考虑兼容性,并且当前的JavaScrit引擎支持ES 6标准的话,那么应尽量使用模板字符串。模板字符串还支持以${ }方式定义变量,具体的用法请读者自行查阅TypeScript或ES 6官方手册。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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