前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TypeScript Downleveling - 什么是 TypeScript 的降级行为

TypeScript Downleveling - 什么是 TypeScript 的降级行为

作者头像
Jerry Wang
发布2021-07-21 09:52:39
6090
发布2021-07-21 09:52:39
举报

下列 TypeScript 代码:

代码语言:javascript
复制
function greet(person: string, date: Date) {
  console.log(`Hello ${person}, today is ${date.toDateString()}!`);
}

greet("Maddison", new Date());

使用 tsc 编译器编译之后生成的 JavaScript 代码:

代码语言:javascript
复制
function greet(person, date) {
    console.log("Hello " + person + ", today is " + date.toDateString() + "!");
}
greet("Maddison", new Date());

为什么字符串模板在编译后的 JavaScript 代码里会消失呢?

模板字符串是来自 ECMAScript 版本的一个特性,称为 ECMAScript 2015(又名 ECMAScript 6、ES2015、ES6 等 )。 TypeScript 能够将代码从较新版本的 ECMAScript 重写为旧版本,例如 ECMAScript 3 或 ECMAScript 5(又名 ES3 和 ES5)。 这种从更新或“更高”版本的 ECMAScript 向下移动到旧或“更低”版本的过程有时称为降级。

默认情况下,TypeScript 以 ES3 为目标,这是一个非常旧的 ECMAScript 版本。 我们可以通过使用 --target 标志来选择更新一些的东西。 使用 --target es2015 将 TypeScript 更改为目标 ECMAScript 2015,这意味着代码应该能够在支持 ECMAScript 2015 的任何地方运行。 所以运行 tsc --target es2015 hello.ts 会给我们以下输出:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-06-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档