写点什么

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

发布了 375 篇内容, 共 196.1 次阅读, 收获喜欢 947 次。

关注

评论

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

队列在实际开发中的应用:管道、消息收发与 FIFO 原理揭秘

测吧(北京)科技有限公司

测试

小红书运营难题一键破!火语言 RPA 开启涨粉变现新捷径

火语言RPA

堆栈的奥秘:LIFO 与栈、堆的深度对比与应用场景

测吧(北京)科技有限公司

测试

Sandisk闪迪成功完成与西部数据分拆,正式登陆纳斯达克

极客天地

foobar2000 for mac(多功能音频播放器)v2.24.2免激活版

Rose

Proof Beyond Boundaries: Hong Kong zkNight 活动精彩回顾

TechubNews

博云AIOS+DeepSeek:代码辅助评审

BoCloud博云

博云 DeepSeek

《Operating System Concepts》阅读笔记:p125-p146

codists

操作系统

抖音爆款制造机:火语言的内容优化秘籍

火语言RPA

不懂代码别发愁,火语言 RPA 助你轻松搞定 B 站稿件发布

火语言RPA

星海智算+ DeepSeek-R1:技术突破与行业应用的协同革新

Yan-英杰

人工智能 DeepSeek

Milvus x DeepSeek 搭建低成本高精度 RAG 实战

阿里云大数据AI技术

Milvus rag PAI DeepSeek

Proof Beyond Boundaries: Hong Kong zkNight——零知识证明技术的未来之夜

TechubNews

区块链 科技 web3

JUC并发—ThreadLocal源码分析

不在线第一只蜗牛

Java 算法 JVM

人工智能丨基于视觉模型的目标检测技术在自动化测试中的应用

测试人

链表的魅力:单链表与双链表常见算法应用详解

测吧(北京)科技有限公司

测试

二叉树探索:从创建到遍历,前序中序后序算法全攻略”

测吧(北京)科技有限公司

测试

火语言 —— 打破分享限制,拥抱开源世界

火语言RPA

算法优化必看:时间复杂度与空间复杂度的深度解析

测吧(北京)科技有限公司

测试

谷云科技iPaaS×DeepSeek:构建企业智能集成的核心底座

RestCloud

AI 智能体 数据集成平台 ipaas DeepSeek

从冒泡到选择:经典排序算法背后的深度解析与优化

测吧(北京)科技有限公司

测试

0 代码!2 种方式,一键部署 DeepSeek 系列模型

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

阿里云可观测全面拥抱 OpenTelemetry 社区

阿里巴巴云原生

阿里云 云原生

别再盲目发小红书笔记,火语言 RPA 教你高效运营秘籍

火语言RPA

TouchDesigner Pro(可视化原型渲染设计)

Rose

什么是DNS反射放大攻击?如何预防?

国科云

探索高效项目管理协作的解决方案

axe

项目管理 办公软件 项目协作

人工智能丨基于 OCR 识别方法的自动化测试

测试人

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