2025技术预测|AI研究与应用|小红书、华为仓颉的AI实践 了解详情
写点什么

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

发布了 371 篇内容, 共 180.1 次阅读, 收获喜欢 943 次。

关注

评论

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

yum安装Nginx全流程指南

happlyfox

28天写作 3月日更

为什么MySQL不推荐使用子查询和join

Java小咖秀

MySQL MySQL优化

存量用户运营企业微信的“用户端小程序”优化方案

vivo互联网技术

小程序 微信 性能优化 大前端 企业微信

不愧为Java程序员福音 2021阿里巴巴中台架构实战重磅来袭!

比伯

Java 编程 架构 面试 程序人生

滚雪球学 Python 之内置 random 模块

梦想橡皮擦

28天写作 3月日更

协助市场监督管理局,打造质量基础设施“一站式”服务平台

源中瑞-龙先生

JVM笔记--如果你写JVM,最需要考虑的重要结构是什么?

秦怀杂货店

Java JVM

几个你不知道的dubbo注册中心细节

捉虫大师

zookeeper dubbo 注册中心

你的头发还好吗?大数据分析脱发城市哪里强

不脱发的程序猿

大数据 程序员 程序人生 数据分析 3月日更

软件匠艺

Teobler

敏捷 敏捷开发 软件匠艺 伪敏捷

Apache Oozie 深入原理讲解

五分钟学大数据

大数据 28天写作 3月日更 oozie

掌握了开源框架还不够,你更需要掌握源代码

华为云开发者联盟

开源 Element 源代码 Vue 3

网易 Duilib:功能全面的开源桌面 UI 开发框架

有道技术团队

开源

OpenCV萌新福音:易上手的数字识别实践案例

华为云开发者联盟

OpenCV 图像处理 数字 图像预处理 信用卡

APP搜索如何又快又准?

华为云开发者联盟

elasticsearch App 搜索 云搜索 词库

Hamcrest

insight

单元测试 3月日更

前端开发:Mac环境的Chrome浏览器设置跨域请求的SameSite解决方法

三掌柜

vue.js 大前端 3月日更

史上超强拷贝仓——GitHub 热点速览 v.21.11

HelloGitHub

GitHub 开源

华为在数字化浪潮下的API变革实践

华为云开发者联盟

华为 架构 数字化 API API战略

Nginx配置静态文件服务从入门到精通

happlyfox

28天写作 3月日更

办公自动化:Day01

缭乱地男神

办公自动化 IT蜗壳教学

带你全面认识CMMI V2.0(二)

IPD产品研发管理

项目管理 CMMI

哪有简单的满足——自我决定论

Justin

心理学 28天写作 游戏设计

燃烧吧!开发者们,一起在云端构建开放成熟的 ARM 生态!

亚马逊云科技 (Amazon Web Services)

白话解读 WebRTC 音频 NetEQ 及优化实践

阿里云视频云

阿里云 音视频 WebRTC 音频技术 视频云

我帮大厂做架构之——微信的“N个朋友读过”怎么实现

臧萌

成长 架构师 职场成长

【LeetCode】螺旋矩阵 II Java 题解

Albert

算法 LeetCode 28天写作 3月日更

看了 GitHub 上的这些面试题项目后,我飘了!

JackTian

GitHub 开源 面试

Rancher 2.5.6发布,支持Kubernetes 1.20

Rancher

EFT是什么?EGG公链又是什么?一文带你了解

币圈那点事

公链 挖矿 #区块链#

第一个mybatis程序,实现CRUD

xiezhr

mybatis 中间件 crud

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