啦啦啦,我是武夷,一個不太會賣萌的碼農。今天咱們一塊兒來聊一聊 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 版本之間的功能差距
版本 |
官方名稱 |
發佈日期 |
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 的標準.瀏覽器
TypeScript 數據榜
npm 下載量趨勢圖 (粒度:月)
RedMonk 編程語言排名: 2019 年 6 月
橫座標是 GitHub 上的人氣排名,分析的 GitHub 部分的數據源是 GitHub Archive。
縱座標是 Stack Overflow 上的人氣排名。異步
RedMonk 一段時間內排名前 20 位的語言: 2019 年 6 月
下面是一個可視化圖表,用於跟蹤排名歷史上前 20 種語言的調整。編程語言
2019 Stack Overflow 年度最受歡迎的編程語言
小結
今天咱們學習到 JavaScript 各個版本之間功能差距與特性,TypeScript 也在兼容 JavaScript 方面很出色。瞭解到 TypeScript 近幾年在各個領域的數據榜,潛力很是大,是一項很是值得學習的新技術。函數