這是我參與8月更文挑戰的第3天,活動詳情查看:8月更文挑戰javascript
"不畏懼,不將就,將來的日子好好努力"——你們好!我是小芝麻😄html
上一篇芝麻同窗已經花費整整一篇來闡述了JS的產生背景,因此JS的優缺點也不言而喻了。java
html
添加生命力的腳本語言;畢竟開發週期僅有10天,不少設計考慮的不夠周到,並且在網景與IE瀏覽器交鋒中誕生,對於老版本的IE瀏覽器確定不會很友好。編程
上面咱們羅列了不少JS的優勢,這些優勢也一樣是他的缺點瀏覽器
有關詳細的JS設計的缺點推薦你們能夠看下阮一峯老師的Javascript的10個設計缺陷安全
既然
JS
有那麼多缺點,那爲啥不用新語言替換掉他呢?服務器
- 這個問題咱們在上一篇已經解釋過了,微軟曾經試圖用
JScript
替換JS
,但最終迫於標準的壓力仍是選擇了放棄
因爲 IE
的市場份額被谷歌 Chrome
攫取,微軟在 2015
年使用開源 Chakra JavaScript
引擎打造了全新的 Edge
瀏覽器。可是到了這個時候,專一於 Web
標準,具有功能強大的 V8 JavaScript
引擎的谷歌Chrome
顯然已經贏得了瀏覽器大戰。markdown
瀏覽器大戰結束了,谷歌構建了 Chrome
,HTML5
也在崛起。谷歌還構建了一個很是高效的 JavaScript
引擎,JavaScript
的效率大大提升了。網絡
那時,不少開發人員已開始爲瀏覽器構建龐大的 JavaScript
應用程序,逐漸的發現JS
在大型項目上的一些缺點(例如:缺少諸如模塊、類等關鍵功能。並且,缺少一種經過程序中的規則來創建秩序的類型系統)編程語言
咱們還須要使用JS,那有什麼可以幫助咱們規避JS的缺點呢?
在 TypeScript
出現以前,微軟打算將一種稱爲 Script Sharp
的工具轉變爲產品。可是 Hejlsberg
不肯定這些開發人員是否願意用另外一種語言編寫JavaScript
代碼。因此他開始想解決 JavaScript
的實際問題 關鍵是要向語言中添加類型系統,並且還不能影響那些讓 JavaScript 如此流行的東西。
Hejlsberg 決定創建一個「可擦除類型系統」,這個組件使 TypeScript
成爲 JavaScript
的超集。在編譯時,TypeScript
會刪除全部類型並將代碼還原回 JavaScript
。
從某種意義上說,它是一個 type system
,只存在於開發人員編程期間,在運行時就會消失。不過在運行的時候,它給你帶來的只有好處,沒有任何缺點。
TypeScript 最初是個微軟內部項目,叫 Strada,致力於提高大型 JS 項目。
- 2010 年開始開發,
- 2012 年 10 月發佈了第一個開源版本,持續迭代至今