【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

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

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

关注

评论

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

最新Idea 2020.1 二种方法激活教程

公众号:V5codings

intellij-idea

告别手写,一键生成 Helm Chart README

郭旭东

Kubernetes Helm

自助设备系列——上下游

孙苏勇

产品 行业资讯 智能设备

VSCode最强助攻

页面仔小杨

编程 vscode

我在极客时间学习的三个月

石乐

面对压力的战略和战术

山楂大卷

管理 精神力 逻辑思维 压力 工作思路

嵌套文件夹复制实现

Howe

Java 文件复制

有没有什么上古的程序代码至今依然没被更替?

极客时间

编程 程序员 开发

高仿瑞幸小程序 03 创建轮播图

曾伟@喵先森

小程序 微信小程序 大前端 移动

分析Kubernetes技术体系的层级,慎用比较前沿的技术

韩超

给程序员的错误找个台阶

曲水流觞TechRill

我的编程之路-2(首秀)

顿晓

方法 沟通 新项目

游戏开发通用技术和工具

波波

编程 游戏开发 H5游戏

Flutter Andorid真机或打包APK杂症记录

北风烈

flutter 打包APK

打造个人商业模式第一步

一尘观世界

副业赚钱 提升认知 思维方式 商业模式 认识自己

ELK 日志收集简易教程

meng

elasticsearch Logstash Kibana ELK Filebeat

快来体验 JetBrains Space EAP 版本

刘培培

DevOps JetBrains Space

使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (二)为什么要写单元测试

编程道与术

编程 编程语言 TDD 代码审查 单元测试

5G来临,我们该如何打造自己的家庭数据中心基础篇

ABC实验室

5G 数字资产 家庭数据中心

NumPy 运算规则总结

张利东

Python

C语言数据类型

C语言技术网-码农有道

docker安装mysql5.7并挂载目录到本地

桥哥技术之路

Docker

当我们说文本编辑器时,到底在说什么

付济

写作平台 InfoQ markdown

Kafka系列第5篇:一文读懂消费者背后的那点"猫腻"

z小赵

大数据 kafak 实时计算

C语言程序的基本结构

C语言技术网-码农有道

C/C++

freecplus框架,Linux平台下C/C++程序员提高开发效率的利器

C语言技术网-码农有道

2020年程序猿必读10本好书推荐

ABC实验室

学习 2020 程序员 好书推荐

我的工作原则与思考

梁帅

互联网 工作效率 原则

从全国首起暗网案件告破说起——暗网,超乎你想象

石君

网络安全 暗网 洋葱网络

听保洁老大爷讲Java的垃圾回收

侯树成

JVM

Grafana+Prometheus(InfluxDB)+Jmeter使用Nginx代理搭建可视化性能测试监控平台

软测小生

Grafana Prometheus Influxdb Jmeter 性能测试

TypeScript 2.0 已发布_JavaScript_James Chesters_InfoQ精选文章