武夷 | TypeScript 是什么?

image.png

啦啦啦,我是武夷,一个不太会卖萌的码农。今天咱们一块儿来聊一聊 TypeScript 是什么?正则表达式

TypeScript 特性

  • JavaScript that scales.(可伸缩的 JavaScript)
  • A statically typed superset of JavaScript that compiles to plain Javascript. (编译为纯 Javascript 的静态类型 JavaScript 超集)
  • Any browser. Any host. Any OS. (任何浏览器。任何主机。任何操做系统)
  • Open Source. (开源)
  • Great tools enabled by static types.(静态类型支持的强大工具)

JavaScript 版本之间的功能差距

Jietu20200218-181527-HD.gif

版本 官方名称 发布日期
ES9 ES2018 2018年6月
ES8 ES2017 2017年6月
ES7 ES2016 2016年6月
ES6 ES2015 2015年6月
ES5.1 ES5.1 2011年6月
ES5 ES5 2009年6月
ES4 ES4 废弃
ES3 ES3 1999年12月
ES2 ES2 1998年6月
ES1 ES1 1997年6月

全部浏览器中运行的 JavaScript 版本基于 ECMAScript3。版本 4 由于特性蠕动( feature creep )被取消了(他们试图一次添加不少特性)。虽然 ES5 是 JavaScript 的一个巨大版本,可是 ES2015 (也被称做 ES6 )也是 JavaScript 的重要更新。而 ES.Next 始终指 JavaScript 将来版本。npm

ES2015 ( ES6 ) 带来的重大特性

  • Arrow functions(箭头函数)
  • Promises
  • Generators
  • let 和 const
  • Classes(类)
  • Modules(模块)
  • Multiline strings(多行字符串)
  • Template literals(模板字面量)
  • Default parameters(默认参数)
  • The spread operator(展开操做符)
  • Destructuring assignments(解构分配)
  • Enhanced object literals(加强的对象字面量)
  • for..of 循环
  • Map 和 Set

ES2016(ES7) 的改进

  • Array.prototype.includes
  • 求幂运算符

ES2017(ES8)带来的重大新特性

  • 字符串填充(padStart 和 padEnd)
  • Object.values
  • Object.entries
  • Object.getOwnPropertyDescriptors()
  • 函数参数列表和调用中的尾随逗号
  • Async Functions (异步函数)
  • 共享内存 和 Atomics

ES2018(ES9) 带来的重大新特性

  • Rest(剩余)/Spread(展开) 属性
  • Asynchronous iteration (异步迭代)
  • Promise.prototype.finally()
  • 先行断言(lookahead) 和 后行断言(lookbehind)
  • Unicode 属性转义 \p{…} 和 \P{…}
  • 命名捕获组(Named capturing groups)
  • 正则表达式的 ‘s’ 标志

TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.

TypeScript 是 JavaScript 类型的超集,而且能够编译为纯 JavaScript。编程

TypeScript 遵循当前以及将来出现的 ECMAScript 规范。TypeScript 不只能兼容现有的 JavaScript 代码,它也拥有兼容将来版本的 JavaScript 的能力。大多数 TypeScript 的新增特性 都是基于将来的 JavaScript 提案,这意味着许多 TypeScript 代码在未来颇有可能会变成 ECMA 的标准.浏览器

image.png

TypeScript 数据榜

npm 下载量趋势图 (粒度:月)

image.png

RedMonk 编程语言排名: 2019 年 6 月

横坐标是 GitHub 上的人气排名,分析的 GitHub 部分的数据源是 GitHub Archive。
纵坐标是 Stack Overflow 上的人气排名。异步

lang.rank_.619.png

RedMonk 一段时间内排名前 20 位的语言: 2019 年 6 月

下面是一个可视化图表,用于跟踪排名历史上前 20 种语言的调整。编程语言

top20_201906.png

2019 Stack Overflow 年度最受欢迎的编程语言

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy91RFJrTVdMaWEyOGpBRFdXMjhhUkhxelJnbGFqV0FHZmhRdEhHNW51M0RkRDVRM2liZ3pxR3RRREJqUHg5dGNUODJnMWVYM2tSMjlVQ2Z4dXBFck1jVFRnLzY0MA.jpeg

小结

今天咱们学习到 JavaScript  各个版本之间功能差距与特性,TypeScript 也在兼容 JavaScript 方面很出色。了解到 TypeScript 近几年在各个领域的数据榜,潜力很是大,是一项很是值得学习的新技术。函数

1581478124541-aa131c7f-10ad-435e-8a8e-999f411d9ba1.png
相关文章
相关标签/搜索