微软最近发布了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问题。在此次发布的新版中,null和undefined均有自己的类型,借此开发者可以明确表示何时可接受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 < 1) { throw new Error("Empty name!"); } this.name = name; }}// Error! 'name' is read-only.new Person("Daniel").name = "Dan";
整个社区对微软此次发布的新版给予极高评价。Ed Rochenski在HackerNews报道中表达了自己的意见:

我已经迫不及待想要在我们的生产应用中使用这些新功能了。TypeScript一直是我步入JavaScript开发的桥梁,IMHO JavaScript早已被废弃,真不知道如果没有TypeScript的话我能否继续坚持使用JavaScript来开发。

Non-nullable类型、可加标签的Union类型,以及更简单的声明文件,这些是新版中最让我激动的功能。

在Rosenwasser的博客文章中,用户Allen通过评论问到:“我很想在自己的代码库中使用strictNullChecks,但能否通过什么方法让某些/全部库类型定义继续使用lax null检查?”据称他在配合外部类型定义使用strictNullChecks时遇到了问题,因为所用库的类型定义并非严格Null safe的。

Rosenwasser回应称:“目前需要针对strictNullChecks创建依赖项,虽然很多第三方.d.ts文件不受影响可以继续使用,但如果遇到问题,可以随时向types-2.0分支的DefinitelyTyped发送Pull请求。”

根据路线图的介绍,TypeScript还支持ES8对象属性的Spread和Rest,以及函数表达式/箭头函数的装饰器(Decorator),并可支持节点注册钩子。自TypeScript 1.8以来完整的改进和变更清单可访问该项目的GitHub页面。

本文转自d1net(转载)

TypeScript 2.0 已发布相关推荐

  1. 雷军:小米MIX α量产难度太大已放弃;iPhone 12系列将支持北斗导航;TypeScript 4.0 RC发布|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内要闻 雷军:小米MIX α量产难度太大,已放弃了 小米近 ...

  2. 小米、QQ等8款手机浏览器发布自查整改公告;AMD宣布收购赛灵思;​TypeScript 4.0.5发布|极客头条

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内 ...

  3. 罗永浩回应被中消协点名;传前淘宝直播运营负责人因贪污被阿里通报;TypeScript 4.0 Beta发布​ | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客 ...

  4. 微软TypeScript 3.0重磅发布!扶我起来,我还学得动

    web前端教程 用大白话,来讲编程 北京时间7月31日,微软宣布推出 TypeScript 3.0 正式版.TypeScript 3.0 是一个新的里程碑. 官方表示,尽管版本号是一个大变化,但 3. ...

  5. RHEL 7.0已发布 CentOS 7 即将到来

    Red Hat 已发布 Red Hat Enterprise Linux (RHEL) 的 7.0 正式版本. RHEL 7.0 为 Red Hat 的下一代 操作系统 ,提供包括 服务器 .系统及总 ...

  6. RHEL 7.0已发布CentOS 7即将到来

    http://www.linuxdiyf.com/viewarticle.php?id=415675 Red Hat直接将 RHEL7的源代码 发布到了 CentOS 的网站上,鉴于Centos事实上 ...

  7. BOSSCMS V2.0 已发布,免费可商用的开源CMS系统

    逐光前行,心之所向,步履所往,即是远方. BOSSCMSV2.0 已上线,开源,免费,可商用的网站管理软件: BOSSCMS(中文译为:老板CMS)是一款基于PHP+MySQL的网站管理系统,系统完全 ...

  8. FineUICore(基础版)v5.4.0已发布!

    FineUICore(基础版)已发布,请先加入知识星球,下载后可以永久免费商用: 转载于:https://www.cnblogs.com/sanshi/p/10469015.html

  9. ABP框架 v3.0 已发布!

    我们很高兴地宣布,ABP框架和ABP商业版3.0版已经发布.与常规的2周发布一个版本不同的是, 这个版本用了4周的时间.关闭了119个issue,合并了89个pull request 和主框架仓库中的 ...

最新文章

  1. 性能测试之操作系统计数器分析方法
  2. JavaScript之 Array(数组) 对象
  3. 50道mysql笔试题目及答案_50道SQL练习题及答案与详细分析!!!
  4. python结束进程树_【python爬虫】线程进程
  5. 基于HOG特征的Adaboost行人检测
  6. bzoj1593 [Usaco2008 Feb]Hotel 旅馆(线段树)
  7. 什么是WebSocket,它与HTTP有何不同?
  8. 重量计算python月球_千年前的古诗,苏轼的不知月亮上是何年何月|现在我用Python来计算出来了...
  9. 基于 Docker 中的 MongoDB 授权使用
  10. Java怎么按照字母对单词排序_将一段字符串文本中的每个单词提取出来后按照字母顺序排序...
  11. 基于REM的移动端响应式适配方案
  12. 用CSS hack技术解决浏览器兼容性问题
  13. continue,return,break 在for循环中的作用
  14. 触摸屏驱动学习并移植
  15. OpenCV中使用 cv2.calcHist()-画直方图案例
  16. 【解决】Jupyter Notebook 内核似乎挂掉了,它很快将自动重启。
  17. 突破传统—复旦大学大数据学院张力课题组提出语义分割全新方案
  18. 关于移动应用用户体验设计的一些体会
  19. [学习笔记]ARM_DSP库——基础函数(相反数、偏移、移位、减法、比例因子)
  20. 2018达内Web前端开发教程(最全)

热门文章

  1. 数据系列:如何在Windows Azure虚拟机上设置SQL Server
  2. SharePoint 2010 新体验5 - Office Web Applications
  3. tinyproxy代理
  4. 解决k8s中node拉取镜像失败问题
  5. 使用ssh连接到centos7中docker容器
  6. rtop – 通过SSH监控远程主机
  7. java appendchild_详解javascript appendChild()的完整功能
  8. html页面调用ico图标,如何在HTML中使用图标字体 - icon font?
  9. 与猜数问题有关的游戏C语言,猜数字游戏(C语言版)
  10. mysql导出数据到txt太慢_分享:mysql导出数据到txt文件