10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

TypeScript 2.5 发布,增加语言级重构

  • 2017-09-10
  • 本文字数:852 字

    阅读完需:约 3 分钟

在 TypeScript 2.5 版本中,Microsoft 专注于提高开发人员的生产力,其范围已经超出了代码编辑器所提供的常见功能。

习惯于类型语言(如 C#)的开发人员喜欢使用那些可以轻松执行常见重构的工具。现在 TypeScript 可以利用其语言代码知识来执行 Extract FunctionExtract Method 的重构。但 TypeScript 是一种语言服务而非编辑器,因此将此功能添加到语言服务中意味着所有的编辑器都可以通过挂接服务来实现重构。TypeScript 项目经理 Daniel Rosenwasser 表示,该团队注重提高开发人员的体验,而不仅仅是语言:

TypeScript 是基于编辑经验开发的一种语言,因此我们团队在编辑器 / 类型检查器以及支持编辑器(如 VS Code)的语言服务方面投入了精力。它不仅仅是 VS 和 VS Code,这些变更对任何使用我们语言服务的编辑器都有效,因此,我认为这些编辑功能对 TypeScript 用户来说很有价值。

这些重构将在 VS Code 和 Visual Studio 中得到应用。

微软还通过捕获 JSDoc 类型声明和不正确的类型引用的意外用法,来提升工具集的“快速修复”。在 TypeScript 2.1 中首先提供了快速修复语言服务的 API ,包括:拼写错误、丢失 import 、丢失 this 以及未使用的声明。更多方面的修复功能已经完成规划

这次发布的版本并不侧重于语言特性,但其中唯一值得注意的就是可选的 catch 变量。当开发人员需要捕获错误时这个特性就非常有用,开发者不必关心这个错误的实际内容。这个特性实际上是 ECMAScript 提案的一部分。以下示例未包括捕获错误的声明,现在这么写是成立的:

复制代码
try {
const result = someMethodThatWillThrowAnException();
}
catch {
contents = createDefaultContents();
}
{1}

和以前一样,最新版本的 TypeScript 可以通过 npm install -g typescriptor 或通过 NuGet 来安装。

查看英文原文: TypeScript 2.5 Released, Adds Language Level Refactoring


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-09-10 19:003013
用户头像

发布了 376 篇内容, 共 204.0 次阅读, 收获喜欢 949 次。

关注

评论

发布
暂无评论
发现更多内容

美团年货-2020年(记录)

春秋易简

四面字节跳动Java研发岗,最终拿下Offer,只有努力,方能成功

Java~~~

Java 架构 面试 微服务 架构师

02. 到底什么是人工智能

Databri_AI

人工智能

游戏开发者的通关之旅,华为AGC for Games带来了什么?

脑极体

微信业务架构和学生管理系统架构设计

王家辉

Cron调度任务入门

devpoint

crontab 8月日更

让 KAS 给 GitOps 插上腾飞的翅膀

极狐GitLab

Kubernetes 极狐GitLabs

Vue进阶(七十一):webpack 插件实现自动抽取 css 主题色样式一键切换

No Silver Bullet

Vue 8月日更 主题色

学习-1

4anonymous

吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软

Java~~~

Java spring 架构 面试 Spring Cloud

七月速递:人脸特征值同步私有化部署包发布、EdgeBoard车辆分析软硬一体方案助力交通管理智能化

百度大脑

人工智能 EdgeBoard 软硬一体

数字资产多链钱包搭建,区块链多币种钱包

13530558032

大专的我狂刷29天“阿里内部面试笔记”最终直接斩获十七个Offer

Java~~~

Java 架构 面试 JVM 多线程

【架构实战营作业】模块一:微信业务架构图&学生管理系统

聆息

Go语言,深入了解 select 实现原理

微客鸟窝

Go 语言 8月日更

网络攻防学习笔记 Day117

穿过生命散发芬芳

网络安全 8月日更

为什么要了解复杂科学?

石云升

8月日更

Vue进阶(七十):了解 webpack 的 hash、chunkhash、contenthash

No Silver Bullet

Vue 8月日更

强大的OCR技术+多元的用户场景 口碑型App白描的开发之路

百度大脑

人工智能 OCR 视障

初学架构师养成の微信业务架构分析&学生管理系统架构

Yina🌝很浪🌊

架构

Go- 字符串、切片和数组的使用

HelloBug

数组 字符串 Go 语言 切片

阿里P8整理的《百亿级并发系统设计》实战教程,实在是太香了

Java~~~

Java 架构 面试 多线程 高并发

架构实战之微信业务架构|学生管理系统

Nico

架构实战营

架构实战营模块一作业-初识架构

娜酱

#架构实战营

现货量化策略系统开发,量化软件开发

13530558032

关于开发视图

编程三昧

8月日更 开发视图

太厉害了,终于有人把TCP-IP协议整合成864页学习笔记了

Java~~~

Java 架构 面试 TCP 网络

学生管理系统架构设计

晓波

架构实战营

读书笔记 -《数据密集型应用系统设计》-索引

KayTin

你最想了解的红队实战攻防技术,来了

网络安全学海

黑客 网络安全 信息安全 WEB安全 安全漏洞

架构设计系列一 架构方法论的入门

nydia

架构学习

TypeScript 2.5 发布,增加语言级重构_JavaScript_David Iffland_InfoQ精选文章