NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

TypeScript 2.0 已发布

  • 2016-10-13
  • 本文字数:1504 字

    阅读完需:约 5 分钟

微软最近发布了 TypeScript 2.0,该版本提供了简化的声明文件获取、Non-nullable 类型,以及Readonly修饰符。

TypeScript 项目经理 Daniel Rosenwasser,他们团队对于该版本“紧随ECMAScript 规范,为JavaScript 库和工具提供了更广泛的支持,并通过一个语言服务在各大编辑器中提供了一流的编辑体验”感到极为“兴奋”。

TypeScript 2.0 使得开发者可以更容易地获取并使用声明文件。Rosenwasser 承认“学习如何获取和管理声明文件的依赖性”过去一直是用户最头疼的问题,但在 2.0 版中通过npm install --save @types/lodash命令即可安装范围包@types/lodash,随后当开发者的程序中任何位置导入 Lodash 后,TypeScript 2.0 将能自动引用。

Non-nullable 类型是 2.0 版引入的另一个新功能。虽然该语言最初的设想是所有类型始终为 Nullable 的,但实际上该团队也发现,这样的设计并不能预防null/undefined问题。在此次发布的新版中,nullundefined均有自己的类型,借此开发者可以明确表示何时可接受null/undefined值。下列视频展示了 TypeScript 的这一特性。

插入一个视频: https://msdnshared.blob.core.windows.net/media/2016/09/nonnullable-types-fade.mp4

TypeScript 2.0 中的属性可声明为只读的,随后所有不包含 Set-accessor 的 Get-accessor 均会被视作只读的。

复制代码
class Person {
readonly name: string;
constructor(name: string) {
if (name.length
<p> 整个社区对微软此次发布的新版给予极高评价。Ed Rochenski 在 <a href="https://news.ycombinator.com/item?id=12557808">HackerNews</a> 报道中 <a href="https://news.ycombinator.com/item?id=12558030"> 表达了自己的意见 </a>:</p>
<blockquote>
<p> 我已经迫不及待想要在我们的生产应用中使用这些新功能了。TypeScript 一直是我步入 JavaScript 开发的桥梁,IMHO JavaScript 早已被废弃,真不知道如果没有 TypeScript 的话我能否继续坚持使用 JavaScript 来开发。</p>
<p>Non-nullable 类型、可加标签的 Union 类型,以及更简单的声明文件,这些是新版中最让我激动的功能。</p>
</blockquote>
<p> 在 Rosenwasser 的博客文章中,用户 Allen 通过评论 <a href="https://blogs.msdn.microsoft.com/typescript/2016/09/22/announcing-typescript-2-0/#comments"> 问到 </a>:“我很想在自己的代码库中使用 strictNullChecks,但能否通过什么方法让某些 / 全部库类型定义继续使用 lax null 检查?”据称他在配合外部类型定义使用 strictNullChecks 时遇到了问题,因为所用库的类型定义并非严格 Null safe 的。</p>
<p>Rosenwasser 回应称:“目前需要针对 strictNullChecks 创建依赖项,虽然很多第三方.d.ts 文件不受影响可以继续使用,但如果遇到问题,可以随时向 types-2.0 分支的 DefinitelyTyped 发送 Pull 请求。”</p>
<p> 根据 <a href="https://github.com/Microsoft/TypeScript/wiki/Roadmap"> 路线图 </a> 的介绍,TypeScript 还支持 ES8 对象属性的 Spread 和 Rest,以及函数表达式 / 箭头函数的装饰器(Decorator),并可支持节点注册钩子。自 TypeScript 1.8 以来完整的改进和变更清单可访问该项目的 GitHub<a href="https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#typescript-20"> 页面 </a>。</p>
<p>TypeScript 已通过 Apache 许可方式开源并发布。有意参与该项目的 InfoQ 读者可访问:<a href="https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md">https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md</a>。</p>
<p><strong> 查看英文原文:</strong><a href="https://www.infoq.com/news/2016/09/TypeScript-2-Released">TypeScript 2.0 Released</a></p>
2016-10-13 19:002008
用户头像

发布了 283 篇内容, 共 102.1 次阅读, 收获喜欢 61 次。

关注

评论

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

尚硅谷年终盘点 | 你好,2022;再见,2021

@零度

消息队列存储消息数据设计

张靖

#架构实战营

这几个IDE是Node.js 开发人员需要知道的

@零度

node.js 前端开发

取代Maven?maven-mvnd持续霸榜 GitHub Trending,性能提升300%

沉默王二

maven

洞见科技携手阿里云,以“隐私计算+云”推动场景应用大规模落地

阿里云弹性计算

阿里云 数据安全 隐私计算

Dubbo为什么要用Go重写?

捉虫大师

Go dubbo

腾讯云TDSQL数据库信创演进与实践

腾讯云数据库

tdsql 国产数据库

WireShark好学吗?我来手把手教你学WireShark抓包及常用协议分析

学神来啦

网络安全 Wireshark 渗透测试 kali kali Linux

从人工到智能!百度AI开发者大会分论坛,探寻国球乒乓背后的AI之路

百度大脑

人工智能

Linux之find exec

入门小站

大数据开发之Hive如何提高查询效率

@零度

大数据 hive

链计算、新基建:区块链助力数字经济新生态

CECBC

新年将至,惊喜来袭

浪潮云

云计算运维

尚硅谷喜获央广网2021年度公信力教育品牌

@零度

TDSQL PostgreSQL如何快速定位阻塞SQL

腾讯云数据库

tdsql 国产数据库

常用的echo和cat,这次让我折在了特殊字符丢失问题上

华为云开发者联盟

Linux cat echo 特殊字符 定向

强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场

腾讯云数据库

tdsql 国产数据库

Iog4j2漏洞相关技术分析

极光JIGUANG

【签约计划第二季】百位签约创作者名单公布

InfoQ写作社区官方

签约计划第二季 热门活动

尚硅谷喜获央广网2021年度公信力教育品牌

编程江湖

教育

尚硅谷年终盘点|你好,2022;再见,2021

编程江湖

2022年新年祝福

java开发之SSM开发框架的快速理解

@零度

ssm JAVA开发

一文解析Apache Avro数据

华为云开发者联盟

序列化 flink sql Apache Avro 反序列 Avro

Greenplum内核源码分析-分布式事务(一)

王凤刚(ginobiliwang)

源码分析 分布式事务 greenplum

性能工具之常见压力工具是否能模拟前端?

zuozewei

前端 浏览器 性能分析 测试工具 12月日更

在线JSON转Schema工具

入门小站

工具

MongoDB按需物化视图介绍

MongoDB中文社区

mongodb

旺链科技团建图鉴 | 认真工作,肆意生活~

旺链科技

区块链 企业文化 团建

强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场

腾讯云数据库

tdsql 国产数据库

forEach、map和for循环

编程江湖

大前端

☕【难点攻克技术系列】「海量数据计算系列」如何使用BitMap在海量数据中对相应的进行去重、查找和排序

洛神灬殇

BitMap bitmaps bitset 12月日更

TypeScript 2.0 已发布_JavaScript_James Chesters_InfoQ精选文章