写点什么

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

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

关注

评论

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

【LeetCode】 礼物的最大价值Java题解

Albert

算法 LeetCode 8月日更

阿里“宝妈级”之作,这份Spring Security应用到源码手册,全是精华

Java spring 程序员 架构 计算机

浏览器数据库 IndexedDB(一) 概述

编程三昧

数据库 大前端 indexedDB 8月日更

架构设计总结

鲲哥

架构实战营 毕业总结

Ahu

架构实战营 模块五作业

孫影

架构实战营 #架构实战营

【Vue2.x 源码学习】第三十六篇 - 组件部分 - Vue.extend 实现

Brave

源码 vue2 8月日更

python爬取下载m3u8加密视频,原来这么简单!

Python研究者

8月日更

网络攻防学习笔记 Day106

穿过生命散发芬芳

网络安全 8月日更

从0开始的TypeScriptの八:类

空城机

JavaScript typescript 大前端 8月日更

架构实战营 模块三

听闻

在所有Spark模块中,我愿称SparkSQL为最强!

王知无

FastApi-13-文件上传-1

Python研究所

FastApi 8月日更

设计微博系统中”微博评论“的高性能高可用计算架构

智慧源点

架构实战营

架构训练营毕业总结

Geek_e0c25c

架构实战营

拆分电商系统为微服务

thewangzl

抵制不良饭圈文化,互联网平台应该肩负哪些责任

石头IT视角

秒杀架构设计

鲲哥

Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

王知无

蚂蚁金服+拼多多+抖音+天猫Java面经合集,金九银十Java开发校招社招福音!

编程菌

Java 编程 程序员 面试 计算机

前端之算法(五)顺序和二分搜索

Augus

数据结构与算法 8月日更

老外为了在MacBook上玩原神,让M1支持了所有iOS应用 | Github每周精彩分享第一期

Zhendong

GitHub

如何在二三线城市月薪过万(三)java偏功能实现的面试题,有备无患!!

小鲍侃java

8月日更

财富自由的本质及如何实现财富自由?

非著名程序员

认知提升 个人提升 财富自由 8月日更

总结

杰语

序列化单例模式的实现————readResolve 源码解读

4ye

Java 源码 后端 序列化 8月日更

Android SDK 版本属性

Changing Lin

8月日更

极客大学架构实战0期毕业总结

谢博琛

设计千万级学生管理系统的考试试卷存储方案

架构0期-Bingo

架构实战营 | 毕业设计

架构实战营

让我们一起开发【菜谱系统】吧,滚雪球学 Python 第三轮项目计划

梦想橡皮擦

8月日更

TypeScript 2.0 已发布_JavaScript_James Chesters_InfoQ精选文章