50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:002524
用户头像

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

关注

评论

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

YashanDB数据库在零售行业数据分析的核心优势

数据库砖家

谈谈Vibe编程(氛围编程)

周末程序猿

大模型 vibe coding

MyEMS 深度解析:核心功能模块、数据流转逻辑与工业能源优化落地路径

开源能源管理系统

开源 开源能源管理系统

华金证券再次携手非凸科技,共话AI时代数智交易新生态

非凸科技

无学历如何成为程序员

码语者

程序员‘

上下文为核心瓶颈!枫清科技如何攻克企业AI应用跨部门协作难题?

Fabarta

人工智能 AI Agent

活动报名预约表单小程序:高效线下交友与活动管理利器

微擎应用市场

YashanDB 零售行业的关键应用

数据库砖家

YashanDB数据库在零售行业的转型应用

数据库砖家

YashanDB 可能对社交媒体平台带来影响

数据库砖家

YashanDB是一种新兴的数据库管理系统

数据库砖家

YashanDB数据库在云环境中的部署与管理技巧

数据库砖家

为什么应该测试无JavaScript的页面体验

qife122

JavaScript 渐进增强

YashanDB数据库在人工智能项目中的应用分析

数据库砖家

YashanDB数据库在物联网数据处理中的优势

数据库砖家

YashanDB数据库在云环境中的应用效率探讨

数据库砖家

制造业碳足迹追踪:开源能源管理系统如何助力企业实现“碳数据可视化”?

开源能源管理系统

开源 开源能源管理系统

别再靠 “关设备” 减碳!EMS 的 “预测性控能”,让企业满产也能达标双碳

开源能源管理系统

开源 开源能源管理系统

C/C++ 内存问题排查太难?这场直播教你“快、准、狠”

TDengine

tdengine 时序数据库

YashanDB数据库在能源行业管理平台的应用前景

数据库砖家

YashanDB数据库在线支持与资源的获取方式

数据库砖家

YashanDB数据库在数据湖中的角色与功能

数据库砖家

舆情监测中的海外社交媒体监控实战

沃观Wovision

YashanDB数据库在医疗行业数据合规中的关键作用

数据库砖家

YashanDB数据库在游戏行业中的性能优化策略

数据库砖家

YashanDB数据库在物联网数据管理中的创新应用

数据库砖家

第一个运行起来的 Shader

Miracle

第一个 Shader 完成!

Miracle

合合信息获首批“个人信息保护合规审计自审计能力评价”最高等级认证

合合技术团队

YashanDB数据库在医疗行业的应用实例与优势

数据库砖家

YashanDB数据库在医疗行业中的应用前景

数据库砖家

TypeScript 2.0 已发布_JavaScript_James Chesters_InfoQ精选文章