區(qū)別:1、TypeScript支持所有原始數(shù)據(jù)類(lèi)型,而ES6不支持所有數(shù)據(jù)類(lèi)型;2、TypeScript有3個(gè)作用域,而ES6有2個(gè)作用域;3、TypeScript中模塊分為內(nèi)部模塊和外部模塊,而ES6中模塊分為導(dǎo)入模塊和導(dǎo)出模塊。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
TypeScript
TypeScript是一種由微軟開(kāi)發(fā)的自由和開(kāi)源的編程語(yǔ)言。它是JavaScript的一個(gè)超集,而且本質(zhì)上向這個(gè)語(yǔ)言添加了可選的靜態(tài)類(lèi)型和基于類(lèi)的面向?qū)ο缶幊獭?/p>
TypeScript擴(kuò)展了JavaScript的語(yǔ)法,所以任何現(xiàn)有的JavaScript程序可以不加改變的在TypeScript下工作。TypeScript是為大型應(yīng)用之開(kāi)發(fā)而設(shè)計(jì),而編譯時(shí)它產(chǎn)生 JavaScript 以確保兼容性。
TypeScript 支持為已存在的 JavaScript 庫(kù)添加類(lèi)型信息的頭文件,擴(kuò)展了它對(duì)于流行的庫(kù)如 jQuery,MongoDB,Node.js和 D3.js 的好處。
TypeScript 的歷史
Anders Hejlsberg開(kāi)發(fā)了 TypeScript。它于2012 年 10 月 1 日首次向公眾推出。經(jīng)過(guò)微軟內(nèi)部?jī)赡甑拈_(kāi)發(fā),2013 年發(fā)布了新版 TypeScript 0.9。2019 年 4 月 24 日發(fā)布了TypeScript 3.4.5。
ES6
ECMAScript (ES) 是由ECMA 國(guó)際標(biāo)準(zhǔn)化的腳本語(yǔ)言規(guī)范。它的創(chuàng)建是為了標(biāo)準(zhǔn)化 JavaScript。ES 腳本語(yǔ)言包含許多實(shí)現(xiàn),其中最流行的是JavaScript。開(kāi)發(fā)人員主要將ECMAScript用于萬(wàn)維網(wǎng) (WWW)的客戶(hù)端腳本。
ECMAScript 標(biāo)準(zhǔn)的第六版是 ECMAScript6 或 ES6,后來(lái)更名為ECMAScript 2015。它是對(duì) JavaScript 語(yǔ)言的重大增強(qiáng),它允許我們?yōu)閺?fù)雜的應(yīng)用程序編寫(xiě)程序。它添加了許多旨在簡(jiǎn)化大規(guī)模軟件開(kāi)發(fā)的功能。最常見(jiàn)的 ES6 網(wǎng)絡(luò)瀏覽器是Chrome和Firefox。轉(zhuǎn)譯器將基于 ES6 的代碼轉(zhuǎn)換為支持許多瀏覽器的ES5 。TypeScript 是一個(gè)轉(zhuǎn)譯器。Grunt、Gulp 和 Babel 是編譯模塊的其他一些轉(zhuǎn)譯器。因此,TypeScript 支持 ES6。
歷史
JavaScript 于 1995 年5 月由Brendan Eich引入。它最初被稱(chēng)為Mocha,由Netscape創(chuàng)始人Marc Andreessen選擇,后來(lái)更名為L(zhǎng)iveScript。與此同時(shí),Sun Microsystems擁有 JavaScript 的商標(biāo)。1995年12 月,Netscape 獲得了商標(biāo)許可,并將其更名為 JavaScript。
在1996 年到1997 年間,Netscape 將 JavaScript 帶到了 ECMA 標(biāo)準(zhǔn)組織,以維護(hù)該語(yǔ)言的規(guī)范。1997年6 月,創(chuàng)建了 ECMA 技術(shù)委員會(huì) 39 (TC39) 以繼續(xù)發(fā)展該語(yǔ)言,最終發(fā)布了ECMA-262 Ed.1。
JavaScript 的第一個(gè)標(biāo)準(zhǔn)版本是 ECMAScript 1,于 1997 年6 月發(fā)布。一年后,ECMAScript 2 發(fā)布了,它只包含了一些小的更改,以保持 JavaScript 的并行 ISO 標(biāo)準(zhǔn)。1999年12 月,ECMAScript 3 發(fā)布,引入了 JavaScript 的很多流行特性。2009年12 月,ECMAScript 或 ES6 發(fā)布,隨后更名為 ECMAScript 2015。
TypeScript和ES6的區(qū)別
1、原始數(shù)據(jù)類(lèi)型
TypeScript支持所有原始數(shù)據(jù)類(lèi)型,ES6不支持所有數(shù)據(jù)類(lèi)型。
2、變量作用域
TypeScript有3個(gè)作用域:全局作用域、類(lèi)作用域、局部作用域。
ES6有2個(gè)作用域:全局作用域、局部作用域。
3、模塊
在TypeScript中,模塊有兩種類(lèi)型:內(nèi)部和外部模塊
在ES6中,模塊分為導(dǎo)入模塊和導(dǎo)出模塊。
【