专栏首页领域驱动设计DDD实战进阶02-TypeScript中新的字符串

02-TypeScript中新的字符串

TypeScript中引入了字符串模板,通过字符串模板可以方便的实现字符串换行的连接、方便变量的使用等。

1.在WebStorm中新建一个文件,后缀名为ts。

在建立ts文件时,WebStorm会问你是否需要自动生成对应的js文件,并设置js文件保存的位置。如果采用Visual Studio 2017,会自动在ts文件相同的文件夹生成对应的js文件。

ts与自动生成的js文件的配置关系,IDE会自动生成一个tsconfig.json的文件进行描述,如下:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "sourceMap": true,
    "outDir": "jssrc/"
  },
  "exclude": [
    "node_modules"
  ]
}

target指的是生成的js文件是满足es5还是es6规范;outDir指的是生成的js文件相对与ts文件的存放路径。

2.在ts中编码

在ts中,通过` `来说明其中的字符串应用字符串模板,可以在其中方便的实现原来在js中需要很麻烦实现的字符串换行,也能在其中方便的访问变量,代码如下:

var myname="caojian";
var getmyname=function () {
    return "Get My Name";
}
console.log(`myname is ${myname}`);
console.log(`myname is ${getmyname()}`);
console.log(`<div>
<span>${myname}</span>
<span>${getmyname()}</span>
</div>`);

另外,还可以通过字符串模板的方式调用方法,实现字符串的拆分,代码如下:

function  testfun(template,name,age){
    console.log(template);
    console.log(name);
    console.log(age);
}

var myname="caojian";
var myage=function () {
    return 37;
}
testfun`my name is ${myname} and my age is ${myage()} end`;

是不是感觉字符串处理的方式非常方便呢,另外大家可以查看对应的js生成的代码,比较下两种方式代码的复杂性。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 05-TypeScript中的方法新功能(下)

    再TypeScript中,方法还有一些新功能能够让我们更好的控制方法执行。 1.Generator方法: yield关键字用于控制方法在执行的时候暂停住,后续方...

    用户1910585
  • 领域驱动设计之基本概念

    企业级业务系统开发我们略过需求的采集、分析,直接进入设计。 领域驱动设计(DDD)是近10年流行、比较成熟、比较成功的软件设计方法、理论。我们早期常见的软件开发...

    用户1910585
  • 2.WF 4.5 流程引擎设计思路

    本文主要给大家分享下基于WF 4.5框架的流程引擎设计思路 ? 1.流程启动时的数据写入EventMsgPP对象中,ObjectAssemblyType记录流程...

    用户1910585
  • Ubuntu格式化分区/挂载

    电脑一般会装两块硬盘,一块SSD,一块机械硬盘,安装Ubuntu系统之后就涉及了分区的操作,这里做一些简单记录

    程序手艺人
  • 3.python从hello world开始

    万丈高楼平地起,编程亦如此。改变世界是结果,坚持努力学习改bug是过程,hello world是开始,所有语言均是如此。

    猿说编程[Python和C]
  • kvm虚拟机挂载lvm卷

    kvm虚拟机挂载lvm卷 virsh attach-disk kvm-3 /dev/vg_shkvm3/kvm-3-data vdb --driver qemu...

    shaonbean
  • 44.python bytes函数

    python bytes对于刚接触python的小伙伴来讲,可能还是有点陌生!bytes是字节序列,值得注意的是它有取值范围:0 <= bytes <= 255...

    猿说编程[Python和C]
  • 经典Bug永流传---每周一“虫”(十)

    不是每个浏览器都支持gzip的,如何知道客户端是否支持gzip呢,抓包,看请求头中有个Accept-Encoding来标识对压缩的支持。原理是:当客户端请求到服...

    厦门-安仔
  • linux下如何优雅的挂载一个外界设备(比如优盘)

            最近从事linux,实验室一个破服务器,能连上网,但是输入这样的命令:        yum -y install gcc yum -y in...

    Gxjun
  • 2019腾讯犀牛鸟精英人才培养计划课题介绍(三)——自动驾驶

    ? 精英人才培养计划是一项校企联合人才培养项目,入选学生将受到业界顶尖技术团队与高校导师的联合指导及培养。培养期间,学生将获得3个月以上到访腾讯开展科研访问的...

    腾讯高校合作

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动