OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

微软推出 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:001845
用户头像

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

关注

评论

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

系统架构合理性的思考 | 京东云技术团队

京东科技开发者

架构设计 应用架构 企业号 8 月 PK 榜 架构合理性

高性能MySQL实战(一):表结构 | 京东物流技术团队

京东科技开发者

数据库表 表结构设计 企业号 8 月 PK 榜 高性能表

逻辑清晰,详解社交源码Android开发SDK

山东布谷网络科技

sdk

龙智案例:某大型零售企业如何打造高速、现代化的ITSM体系

龙智—DevSecOps解决方案

ITSM 工单管理系统 Jira Service Management

大数据平台需要做等保测评吗?怎么做?

行云管家

大数据 等保 大数据平台 等级保护 等保测评

[OpenHarmony]稳定性专项运作知识地图,一张图带你稳过“万重山”

LAVAL社区小助手

OpenHarmony

6步玩转OpenHarmony标准芯片适配

LAVAL社区小助手

OpenHarmony

解析大规模开发:提升企业级开发效率与质量,加速创新

龙智—DevSecOps解决方案

Atlassian Atlassian 云版 大规模开发

在代码世界游走,没几把“锁”防身可不行 | 京东云技术团队

京东科技开发者

分布式锁 java锁 java‘ 企业号 8 月 PK 榜

ChatGPT:生成式AI技术带来的变革

百度开发者中心

自动驾驶 #人工智能 文心一言

ChatGPT:生成式AI引领科学革命

百度开发者中心

#人工智能 ChatGPT 文心一言

汽车行业必读:ISO 26262和ASIL安全等级解读与攻略

龙智—DevSecOps解决方案

Helix QAC 安全标准 ISO 26262 静态分析工具

工时管理魔法课堂:如何在Jira中进行项目时间与成本管理?

龙智—DevSecOps解决方案

Jira插件 工时管理 jira工时

Spring缓存是如何实现的?如何扩展使其支持过期删除功能? | 京东云技术团队

京东科技开发者

spring Spring Cache 企业号 8 月 PK 榜 spring缓存

浅谈Redis - 热点key问题 | 京东云技术团队

京东科技开发者

redis Redis 热点key 企业号 8 月 PK 榜

[OpenHarmony]效果差、不便捷、无接口,TV项目共建如何避开这些坑?

LAVAL社区小助手

OpenHarmony

[OpenHarmony]一文带你详解芯片--SL8541e-系统性能优化

LAVAL社区小助手

OpenHarmony

绝对干货!如何更好的利用 ChatGPT 提升编码效率?

booboosui

DevOps ChatGPT 智能编程 AI软件开发

人工智能引领图文扫描新趋势

石臻臻的杂货铺

人工智能

SecureFX for Mac 附注册码 v9.4.1

胖墩儿不胖y

ftp Mac软件 FTP文件传输工具

体育馆LED显示屏技术解决方案

Dylan

技术 系统 比赛 LED显示屏 体育

mac前端代码编辑神器 sublime text 4中文激活码

mac大玩家j

代码编辑器 Mac软件 前端代码编辑

ChatGPT:引领未来智能交互的生成式AI

百度开发者中心

#人工智能 ChatGPT 文心一言

IntelliJ IDEA下基于Scala实现的Git检查工具

TiAmo

git IDEA IntelliJ IDEA 代码检查

云堡垒机英语怎么翻译?它比硬件堡垒机便宜吗?

行云管家

云计算 堡垒机 云堡垒机

解析BeanDefinitionRegistry与BeanDefinition合并

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

QCA9880 QCA9882 What’s the difference?|802.11ac Qualcomm Atheros Network card Wallys

wallyslilly

QCA9880 QCA9882

hbuilderx打包苹果证书获取步骤

雪奈椰子

ios 开发 Windows开发 苹果证书

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