写点什么

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

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

关注

评论

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

秒懂算法 | 基于朴素贝叶斯算法的垃圾信息的识别

TiAmo

机器学习 算法 过滤算法

Pycharm+PyQt5+Python3.5开发环境配置(详细教程)

Python pycharm 环境安装 PyQt PyQt5

设计模式第八讲:观察者模式和中介者模式详解

C++后台开发

数据结构 设计模式 后端开发 Linux服务器开发 C++开发

大模型时代的异构计算平台

Baidu AICLOUD

大模型训练 异构计算

LeetCode题解:633. 平方数之和,双指针,JavaScript,详细注释

Lee Chen

JavaScript 算法 LeetCode

开发一款wordpress插件并发布到官方插件库完全指南,小白也可以

咖啡教室

Node.js实现大文件断点续传

coder2028

JavaScript 前端

会声会影2023简体中文试用版下载

茶色酒

会声会影2023

用es6的class类单例模式封装canvas环形进度条

咖啡教室

那些高级前端是如何回答面试题的

Geek_02d948

JavaScript 前端

Selenium启动IE11常见问题解决方法

自动化测试 selenium IE

火山引擎推出一站式小程序监控方案

字节跳动终端技术

会声会影2023官方试用版更新下载功能详细介绍

茶色酒

会声会影2023

fastposter v2.12.0 ChatGPT都推荐的海报生成器

物有本末

fastposter 海报生成器 海报生成

产品经理,项目经理,FTO

laofo

DevOps cicd 敏捷开发 研发效能 持续交付

一文读透react精髓

xiaofeng

前端 React

基于selenium的UI自动化实践

Python 自动化测试 selenium

Jmeter安装配置详细教程

Jmeter 性能测试 接口测试

Continuous profiling 拯救了 Victoria Metrics

golang 性能优化 可观测性 Prometheus 性能分析

2023年:我成了半个外包

Java 架构

JS词法环境和执行上下文

hellocoder2029

JavaScript 前端

Corel VideoStudio会声会影2023中文语言版本

茶色酒

会声会影2023

走进RocketMQ(一)整体架构与设计

白裤

Java RocketMQ RocketMQ整体架构 RocketMQ设计

Vue模板是怎样编译的

yyds2026

Vue 前端

2023-02-23:请用go语言调用ffmpeg,解码mp4文件并保存为YUV420P格式文件。

福大大架构师每日一题

golang ffmpeg 福大大

使用一个文件集中管理你的 Nuget 依赖版本号

newbe36524

C# Docker Kubernetes

字节前端二面高频vue面试题整理

yyds2026

Vue 前端

CDR2023新功能抢先看

茶色酒

cdr2023

Window 的 PHP XAMPP 安装 mongodb 的扩展

HoneyMoose

前端一面必会面试题(边面边更)

coder2028

JavaScript 前端

python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(优化版)

Python 单元测试 自动化测试 unittest 测试框架

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