【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

微软推出 TypeScript 1.7

  • 2015-12-13
  • 本文字数:793 字

    阅读完需:约 3 分钟

微软最近发布了 TypeScript —— 这个 JavaScript 超集的语言的 1.7 版本,新版本兑现了微软的部分承诺,使某些场景中的编程工作更为简便了。

新版本中最受期待的特性就是对 async/await 语法的支持,目前对于以 ES6 为目标的项目已经可以使用该语法了。async/await 语法允许开发者将某个函数标记为 async,通过在异步函数中使用 await 关键字,开发者就能够以调用同步代码的形式调用异步函数了。目前为止,该语法仅能够用于 ES6,因为语法的实现背后使用了代码生成器。

出于该特性的复杂性,直到 2.0 版本发布之前,以 ES5 为目标的代码都无法使用这一语法。在另一篇博客中,微软表示对该语法的支持是一个巨大的变动:

为了支持各种浏览器,我们必须使用状态机的方式,将 ES6 的代码生成器函数重写为能够在 ES5 中运行的 JavaScript。这一任务是一项艰巨的挑战,它需要对编译器代码进行大量的改动,但我们目前正致力于实现它。

如果开发者希望现在就能够在所有浏览器中应用这一特性,可以选择使用 Babel

微软在新版本中还引入了多态的 this 类型,使用它能够更方便地编写 fluent 风格的代码,如下所示:

复制代码
var result = myObject.doSomething().doSomethingElse();

按照微软的描述,“this 类型可用于类与接口中,用于表现包含类型的某个子类型(而不是包含类型本身)。”如果想详细了解这一特性的应用方式,请查阅 TypeScript 的 Wiki 。在 Hacker News 上的讨论中,用户 tlarkworthy 对于此特性表现出了极大的热情

在进行泛型编程时,你可能会遇到“无法在类型列表中两次引用同一个类型”的问题,此时多态的 this 类型就能够派上大用。自从接触过它之后,我已经在许多场合中应用过它了。它能够解决许多问题,例如实现一个 clone 方法。这个新特性太棒了!

开发者可以通过 npm、Visual Studio 2015 Update 1 或 Visual Studio 2013 安装 TypeScript 1.7。

查看英文原文: Microsoft Bumps TypeScript to Version 1.7

2015-12-13 18:001851
用户头像

发布了 428 篇内容, 共 172.3 次阅读, 收获喜欢 38 次。

关注

评论

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

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

小傅哥

设计模式 小傅哥 重构 代码优化

依赖倒置原则理解

Thrine

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十二)编写测试-超时

编程道与术

Java 编程 TDD 单元测试 JUnit

「架构师训练营」第 2周作业

旭东(Frank)

架构 极客大学架构师训练营

Libra教程之:来了,你最爱的Move语言

程序那些事

比特币 区块链 以太坊 libra blockchain

Libra教程之:运行自定义move modules

程序那些事

比特币 区块链 以太坊 libra blockchain

【架构师第二周】总结

浪浪

「架构师训练营」第2周作业 - 设计原则

guoguo 👻

极客大学架构师训练营

基于 Docker 实现 MySQL 主从复制

ytao

MySQL Dockerfile

BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案(建议收藏)

程序员生活志

Java spring 面试 分布式 mybatis

面向对象设计原则

陈皮

程序员开发色情游戏,赴日寻找AV女优真人拍摄,结果...

程序员生活志

程序员 游戏开发

如何高效开会?

石云升

高效工作 时间管理 高效 开会

架构师训练营第二周总结:软件开发简史和框架设计的方法

hifly

设计模式 极客大学架构师训练营

听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理

小林coding

面试 计算机网络 计算机基础

Libra教程之:Libra testnet使用指南

程序那些事

比特币 区块链 以太坊 libra blockchain

2020年6月17日 MySQL基准测试

瑞克与莫迪

为什么 Vue 更符合这个时代的大势所趋

葡萄城技术团队

Vue SpreadJS

【架构师训练营】第2周总结

花生无翼

极客大学架构师训练营

一款开源的Diffy自动化对比测试框架:超详细实战讲解

狂师

开源 测试 测试驱动开发实战营 自动化测试

架构师训练营-第二周-作业1

狂奔嘀兔纸

极客大学架构师训练营

第二周作业

大雄

依赖倒置

学习一下:我的学习之道

非著名程序员

学习 程序员 程序人生 提升认知

Redis系列之扫盲篇(一)

z小赵

Java 分布式 高并发系统设计

[Redis源码阅读]redis持久化

老胡爱分享

数据库 redis 缓存 持久化

架构师训练营-week2命题作业

J.Smile

极客大学架构师训练营

架构师训练营第二周总结

极客大学架构师训练营

Spring BeanPostProcessor 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

0616作业2

Geek_10

第二周总结

changtai

架构师训练营作业 --Week2

吴炳华

极客大学架构师训练营

微软推出TypeScript 1.7_JavaScript_David Iffland_InfoQ精选文章