在 TypeScript 2.5 版本中,Microsoft 专注于提高开发人员的生产力,其范围已经超出了代码编辑器所提供的常见功能。

习惯于类型语言(如 C#)的开发人员喜欢使用那些可以轻松执行常见重构的工具。现在 TypeScript 可以利用其语言代码知识来执行 Extract Function 和 Extract 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();
}

和以前一样,最新版本的 TypeScript 可以通过 npm install -g typescriptor 或通过 NuGet 来安装。

原文地址:http://www.infoq.com/cn/news/2017/09/typescript-2-5-refactoring


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

TypeScript 2.5 发布,增加语言级重构相关推荐

  1. TypeScript 4.9 发布!

    TypeScript 是一种通过添加类型和类型检查构建在 JavaScript 之上的语言.类型可以描述诸如对象的形状.如何调用函数以及属性是否可以为 null 或 undefined 之类的东西.T ...

  2. TypeScript和JavaScript哪种语言更先进

    TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...

  3. TypeScript 3.5 发布,速度提升、工具智能

    TypeScript 3.5 发布了,此版本在编译器.语言和编辑器工具上带来了一些新特性. 速度提升 TypeScript 3.5 引入了几种对于 type 检查和增量构建的优化,使得速度大幅提升. ...

  4. TypeScript 3.4 发布

    TypeScript 3.4 发布了,此版本主要更新内容如下: Faster subsequent builds with the --incremental flag:使用 --incrementa ...

  5. 华为称不会退出海外市场;英伟达证实遭遇黑客攻击;TypeScript 4.6发布 | 极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 苏宓 出品 | CSDN(ID:CSDNnews) ...

  6. fastposter 1.6.0 发布 电商级海报生成器

    fastposter 1.6.0 发布 电商级海报生成器 fastposter低代码海报生成器,一分钟完成海报开发.支持Java Python PHP Go JavaScript等多种语言. v1.6 ...

  7. 解读|TARS开源项目发布Go语言版本 1

    解读|TARS开源项目发布Go语言版本 文章转自开源中国 导语:近日,Tars 开源项目在上海发布并开源了 Go 语言版本,其性能与 C++ 版本相当,比 gRPC 的性能高 5 倍. --编者 Ta ...

  8. 快速理解编程结构_微软重磅发布新语言Bosque,超越结构化编程

    本文由 「AI前线」原创(ID:ai-front),原文链接:微软重磅发布新语言Bosque,超越结构化编程 策划编辑 | Natalie 整理 & 编译 | Vincent 编辑 | Vin ...

  9. TypeScript 3.7 发布,带来 Optional Chaining 等特性

    TypeScript 3.7 发布了,此版本带来了许多新特性. Optional Chaining 首先一大亮点是 Optional Chaining,这是社区呼唤特别强烈的一个 ECMAScript ...

最新文章

  1. AGC002E Candy Piles
  2. like左匹配索引失效_导致MySQL索引失效的一些常见写法总结
  3. html哪个标签显示第一节,HTML第一节
  4. centos长ping输出日志的脚本
  5. 2019上半年软考试题(转)
  6. java接口压力测试
  7. 【信息学奥赛一本通】题解目录答案
  8. matlab矩阵排序sort,Matlab 用sort函数排序
  9. linux简易教程 莫烦,安装 Ubuntu 17.10
  10. OpenSSL生成.key、.crt、.pfx证书(Windows下)
  11. 2018-08-08 Mac使用中的一些实用设置
  12. C语言中怎么表示派 -π
  13. Shell脚本——业务上线前如何去扫描指定网段的所有IP地址呢?
  14. RGB565转RGB888
  15. 联想电脑不显示蓝牙开关该如何操作
  16. java计算机毕业设计Vue框架龙猫宠物交易平台MyBatis+系统+LW文档+源码+调试部署
  17. 利用python写一个自动获取局域网ip地址并开启服务器绕过校园网设备限制的小工具
  18. 不要问别人我该怎么做,因为成功是不可复制,但失败却可以
  19. Android 十六进制颜色值转换成int类型值
  20. php 工作报表 软件下载,xlsxwriter(PHP工作表插件)

热门文章

  1. Jmeter录制app脚本
  2. 作业四:产品同质化问题
  3. .NET6之MiniAPI(二十):实体验证FluentValidation
  4. 打独立运行包遇到无法trim咋解决
  5. 如何通过 Linq 将集合拆成多个块?
  6. Docker小白到实战之Dockerfile解析及实战演示,果然顺手
  7. Net 5.0 快速开发框架 YC.Boilerplate--框架介绍
  8. .NET 6 新特性 WaitAsync
  9. 如何在 Blazor WebAssembly中 使用 功能开关
  10. 做.NET开发多年,公司要我转Java...