写点什么

TypeScript 2.0 预览

2016 年 4 月 05 日

Anders Hejlsberg 再次来到 2016 年的微软 Build 大会,他谈了 TypeScript 的现状,预览了将会在未来几个月中提供的一些令人惊喜的特性。

Hejlsberg 将他的演讲分成了三个主要部分,在第一个 15 分钟里,他重新讲述了 TypeScript 的精彩故事。“TypeScript:扩展的 JavaScript”是他对这门语言的描述,TypeScript 的目标是缩小“JavaScript 的功能缺口”。演示程序涉及基本类型检查、语句补全以及编译器输出与源代码相比是什么样子。

在经过简单介绍之后,他展示了 TypeScript 自 Build 2015 以来的变化。该团队每 3 到 4 个月就有一次主要发布,去年共有 4 次主要发布。

在一个 Angular 2 演示程序中,Hejlsberg 展示了如何将 TypeScript 编译器嵌入到浏览器中,消除了文件修改后重新编译代码这个单独的步骤。

他又使用 React 重复了同一个演示应用程序,展示了 TypeScript 识别 JSX 的能力,其中 JSX 是一种为 React 开发人员所喜爱的嵌入式标记技术。为了把这一点讲清楚,他重构了一个组件的名称,并展示了 TypeScript 如何更新整个项目中所有这个组件的引用,包括在嵌入式 JSX 代码中。该演示程序集成了 webpack 和社区驱动的 TypeScript 加载器

对于我们的工具——Visual Studio 和 Visual Studio Code——我们的前进方向实际上是使用 TypeScript 基础设施作为 JavaScript 语言服务。Visual Studio Code 已经切换并使用它。

该语言服务名为 Salsa ,Visual Studio Code 在 0.10.10 版本中切换到它。

修改后的 TypeScript 编译器可以使用开发人员提供的任何 jsdoc 信息。此外,如果一个项目中有任何 TypeScript 定义文件,那么 Salsa 就可以使用它们为纯旧式的 JavaScript 提供语句补全,不需要 TypeScript。

最后 15 分钟的介绍重点是 TypeScript 的未来。对于 TypeScript 2.0,当前的路线图包括:

  • 非空类型;
  • 基于类型分析的控制流;
  • Async/await 底层支持;
  • 只读属性;
  • 在函数中声明“this”类型;
  • 改进 typings 获取。

2.0 版本预计在“数月”之后完成。

对于即将到来的非空类型,TypeScript 2.0 将新提供一个名为strictNullChecks的编译器标识,剥夺一个类型为undefinednull的能力。Number只能是数值,永远不能是undefinednull

在示例代码中演示了新增的非空类型和基于类型分析的控制流之后,Hejlsberg 就可以宣告:“这段代码没有 Bug”了。

在演讲的最后,一个功能强大的演示程序展示了新 TypeScript 类型检查的强大以及它如何能够轻松应对有时令人难以理解的 JavaScript 方式。“JavaScript 有一些怪异模式,但你可以将这些怪异模式教给编译器,让它检查所有这些东西”,他补充道,“这太疯狂了!”

要了解更多有关 TypeScript 发展方向的细节,请观看完整的 Channel 9 视频“ TypeScript 新特性”。

查看英文原文 TypeScript 2.0 Preview

2016 年 4 月 05 日 19:002234
用户头像

发布了 1008 篇内容, 共 308.1 次阅读, 收获喜欢 272 次。

关注

评论

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

架构师训练营 1 期 - 第四周作业(vaik)

行之

极客大学架构师训练营

详解「区块链」溯源

netkiller

区块链 防伪 超级账本 标签 区块链产品溯源

第9周总结

Vincent

极客时间 极客大学

架构师训练营 - 第四周作业

一个节点

极客大学架构师训练营

架构师训练营 1 期 - 第四周总结(vaik)

行之

极客大学架构师训练营

go-zero流数据处理利器

Kevin Wan

go stream functional

CPU 执行程序的秘密,藏在了这 15 张图里

小林coding

操作系统 计算机基础 计算机 编译器、程序语言、CPU 指令

架构师训练营第4周作业

悠哉

第四周作业

Geek_4c1353

极客大学架构师训练营

架构师训练营第 1 期 -week4

习习

第9周作业

Vincent

极客时间 极客大学

第 4 周 系统架构总结

bearlu

系统架构

第三周课后练习

大大猫

极客大学架构师训练营

第二周课后练习

大大猫

极客大学架构师训练营

浅析 Java 内存模型 三

朱华

Java volatile JMM

架構師訓練營 week4 總結

ilake

典型互联网公司使用的技术

happy

架构师训练营 - 第四周总结

一个节点

极客大学架构师训练营

LeetCode题解:144. 二叉树的前序遍历,使用栈,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

第三周架构师训练营作业

Geek_4c1353

极客大学架构师训练营

spring-boot-route(十一)数据库配置信息加密

Java旅途

Java Spring Boot

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

高兵

浅析 Java 内存模型 一

朱华

Java JMM

Redis-技术专题-哨兵配置和原理

李浩宇/Alex

数字人民币真的来了 六年历程全回顾

CECBC区块链专委会

数字货币 DCEP

甲方日常 27

句子

生活 工作 随笔杂谈 日常

Spring学习笔记(一)手写一个简单的Spring

无语

Spring Framework

区块链支付系统开发源码,usdt承兑系统搭建

WX13823153201

区块链支付系统开发

第4周 作业一

bearlu

架構師訓練營 week4 作業

ilake

spring-boot-route(十二)整合redis做为缓存

Java旅途

Java redis Spring Boot

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

TypeScript 2.0预览-InfoQ