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

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 " ) ;

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

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

随风而行之青衫磊落险峰行(www.buleifeng.top) all right reserved,powered by Gitbook本文件修订时间: 2019-10-10 16:07:38

results matching ""

    No results matching ""