2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:002912
用户头像

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

关注

评论

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

手写一个简单的SpringBoot Starter

赵镇

韩信大招:一致性哈希

悟空聊架构

分布式 一致性hash 6月日更 hash算法

Three.js杂记(十二)—— VR全景效果制作·中

空城机

大前端 three.js 6月日更

电商系统微服务拆分设计

Lane

双非渣本后端,三个月逆袭字节,入职那天“泪目”了

Java架构师迁哥

作为程序员,你会使用Notion吗?

Bob

程序员 Notion 笔记

网络攻防学习笔记 Day49

穿过生命散发芬芳

网络攻防 6月日更

如何应对不好回应的沟通场景?

石云升

读书笔记 沟通 6月日更

Anaconda 如何安装 BeautifulSoup 环境

Qien Z.

6月日更

拆分电商系统为微服务

唐江

架构实战营

架构实战营 模块六:课后作业

Ahu

架构实战营

三星T5 格式化成APFS

SamGo

学习 硬件产品

Linux之pwd命令

入门小站

Linux

太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)

Java 程序员 架构 面试

架构实战营 模块六作业

netspecial

架构实战营

排序算法之冒泡排序

xcbeyond

排序算法 冒泡排序 6月日更

经济日报刊评:数字人民币应用场景拓展

CECBC

前端 JavaScript 之『节流』的简单代码实现

编程三昧

JavaScript 大前端 js 防抖节流 代码实现

🌏【架构师指南】分布式事务(XA)与一致性算法(Paxos、Raft、Zab、NWR)

码界西柚

ZAB raft协议 paxos协议 6月日更

setTimeout(〒︿〒) 请原谅我一直以来对你的忽视

编程三昧

JavaScript 大前端 定时器 基础知识

Redis入门一:简介

打工人!

数据库 nosql redis 6月日更

模块6课后作业

方堃

堆与堆排序

wzh

Java 数据结构 算法 堆排序 数据结构与算法

窥见AI工业化开发黎明:华为云如何将AI进行到底

脑极体

「SQL数据分析系列」8. 分组和聚合

Databri_AI

数据库 sql 大数据 存储 计算

冯 · 诺依曼结构原理及层次结构分析

若尘

计算机组成原理

金融科技加速经济低碳转型 但面临政策、市场、技术等多方挑战

CECBC

现在后端开发都在用什么数据库存储数据?

Linux服务器开发

MySQL 数据库 后端 中间件 Linux服务器开发

模块6 学习总结

TH

新一代数仓架构-Snowflake弹性数仓

一弦思华年

大数据 数据湖 云原生 OLAP 数仓

【21-11】PowerShell 特殊变量

耳东@Erdong

PowerShell 6月日更

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