回覆列表
-
1 # 思維黑馬
-
2 # Web前端進階指南
我來說這三種語言,es即ECMAScript、js即JavaScript、ts即TypeScript。
ECMAScriptJavaScript 是大家所瞭解的語言名稱,但是這個語言名稱是商標( Oracle 公司註冊的商標)。因此,JavaScript 的正式名稱是 ECMAScript 。1996年11月,JavaScript 的創造者網景公司將 JS 提交給國際化標準組織 ECMA(European computer manufactures association,歐洲計算機制造聯合會),希望這種語言能夠成為國際標準,隨後 ECMA 釋出了規定瀏覽器指令碼語言的標準,即 ECMAScript。這也有利於這門語言的開放和中立。
JavaScriptJavaScript一種動態型別、弱型別、基於原型的客戶端指令碼語言,用來給HTML網頁增加動態功能。
TypeScriptTypeScript是JavaScript的一個超集,支援ECMAScript 6 標準,有由微軟開發的自由和開源的程式語言,其設計目標是開發大型應用,它可以編譯純JavaScript,編譯出來的JavaScript可以執行在任何瀏覽器上。
CMAScript和JavaScript的關係
JavaScript 與 TypeScript 的關係
TypeScript是Javascript的超集,實現以面向物件程式設計的方式使用Javascript。當然最後程式碼還是編譯為Javascript。
TypeScript和ES6的關係
TypeScript是ES6的超集。至於需不需要使用,在於你所需要的場景。比如在Angular2中,用TypeScript明顯好於ES6。
es是ECMAscript,是一種規範。比如現在es2016裡面採納了箭頭函式,js就去實現這個es2016的規範。js就是es的具體實現。
ts和js可以類比c++和c,ts是js的超集,具體是實現了使用面向物件的方式編寫js程式碼,有具體的型別,泛型,和類的概念。
ts的本質其實是用js的閉包做了一層封裝。