写点什么

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

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

关注

评论

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

及刻周边惠:拥抱HarmonyOS原子化服务

HarmonyOS开发者

HarmonyOS

汇率市场大幅波动,用友BIP全球司库助力企业外汇避险

用友BIP

金融 外汇避险

bucket表:数仓存算分离中CU与DN解绑的关键

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

探索ChatGPT技术在文本生成、机器翻译领域的简单应用 | 社区征文

兴科Sinco

人工智能 机器翻译 OpenAPI openai ChatGPT

Meta Force佛萨奇2.0合约开发系统源码部署

薇電13242772558

智能合约

瓴羊Quick BI真心不错,已获得官方认可!

对不起该用户已成仙‖

IoT物联网设备OTA固件升级开发实践——设备管理运营类

阿里云AIoT

物联网

MASA MAUI Plugin (十)iOS消息推送(原生APNS方式)

MASA技术团队

blazor MASA MAUI Xamarin

如何规范 RESTful API 的业务错误处理

江湖十年

Go 后端 Error RESTful API

DLRover:蚂蚁开源大规模智能分布式训练系统

AI Infra

互联网 智能 训练智能

DLRover:蚂蚁开源大规模智能分布式训练系统

SOFAStack

人工智能 互联网 DLRover

2023年2月国产数据库大事记-墨天轮

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

“中国的ChatGPT”真的要来了吗?

科技热闻

设备离线时控制指令如何下发:通过设备影子实现离线设备的控制指令触达方案——设备管理运维类

阿里云AIoT

物联网

GitLab 凭借什么连续 3 年上榜 Gartner 应用程序安全测试魔力象限?听听 GitLab 自己的分析

极狐GitLab

DevOps DevSecOps 安全测试 极狐GitLab 安全合规

科技和女性的今天,《赛博格宣言》半个世纪前就预言了

脑极体

赛博格 女性

CNStack 多集群服务:基于 OCM 打造完善的集群管理能力

阿里巴巴云原生

阿里云 云原生 kubenetes 集群管理

ChatGPT 未来发展趋势 | 社区征文

魏铁锤

ChatGPT

携程 x TiDB丨应对全球业务海量数据增长,一栈式 HTAP 实现架构革新

PingCAP

数据库 TiDB

3 月 9 日「融云 2023 政企数智办公新品巡展 · 北京站」邀您入席!

融云 RongCloud

产品 数字化 政企

从小程序容器和微服务架构的结合,看未来应用程序开发的主流方式

没有用户名丶

云图说丨云数据库GaussDB(for MySQL)事务拆分大揭秘

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

【物联网开发实战】- 设备上云方案详解——设备接入类

阿里云AIoT

物联网 传感器

如何判断多账号是同一个人?用图技术搞定 ID Mapping

NebulaGraph

图数据库 风险控制 安全控制

秒懂算法 | DP概述和常见DP面试题

TiAmo

算法 DP算法

解密数仓高可用failover流程

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

车载小程序发展现状:使用环境、用户体验、应用场景及未来趋势

没有用户名丶

小程序化

大咖说·阿里研究院|数实融合的第三次浪潮

大咖说

如何通过C#/VB.NET代码在Word中插入或删除脚注

在下毛毛雨

C# .net word 脚注

博睿“她”力量 :这份专业值得信赖

博睿数据

博睿数据 节日祝福

直播预约丨 微服务x容器开源开发者 Meetup 北京站回顾 & PPT 下载

阿里巴巴云原生

阿里云 容器 微服务 云原生

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