对比Javascript和TypeScript
JavaScript
特點(diǎn):
1. JavaScript是解釋性腳本語言,不需要編譯,可以直接在瀏覽器中解釋執(zhí)行
2. 是基于對象的語言,可以創(chuàng)建對象并使用現(xiàn)有對象
3. 是弱類型、動態(tài)語言,基于對象和事件驅(qū)動
4. 較安全,跨平臺,僅在瀏覽器端執(zhí)行,不會訪問本地硬盤數(shù)據(jù)
優(yōu)點(diǎn):
1. 發(fā)展較早,使用人數(shù)多
2. 無需編譯,可以直接執(zhí)行
3. 沒有類的概念,開發(fā)更為靈活
TypeScript
ts是面向?qū)ο蟮木幊陶Z言,是JavaScript的超集,包含JavaScript所有元素,可以載入Js運(yùn)行,擴(kuò)展了Js的語法。TypeScript支持on-the-fly編譯,即寫一句ts就立即得到對應(yīng)的js,不需要完整的語句寫完,就可以根據(jù)上下文推導(dǎo)生成對應(yīng)的、不完整的js代碼。編譯的目標(biāo)代碼是Es6,若有es6新特性問題時(shí)會向下兼容es5,但對于各個(gè)瀏覽器自行對js做的擴(kuò)充,ts不保證予以支持。
特點(diǎn):
1. 屬于開源語言,使用Apache授權(quán)協(xié)議
2. 增加了靜態(tài)類型、類、模塊、接口和類型注解
3. 所有的ts聲明(*.d.ts)都不會聲稱對應(yīng)的js,因?yàn)閖s對象模型中的聲明是可選的。
優(yōu)點(diǎn):
1.靜態(tài)輸入,可以在開發(fā)時(shí)就發(fā)現(xiàn)錯(cuò)誤,使得提高代碼質(zhì)量
2. 大型項(xiàng)目開發(fā)、多人開發(fā)時(shí),更為安全、容易、更好協(xié)作,降低亂碼和錯(cuò)誤的機(jī)會
3. 代碼編譯器創(chuàng)建優(yōu)化的JavaScript,在解釋執(zhí)行時(shí),鑒于瀏覽器的運(yùn)行原理,可以減少無類型變量解釋時(shí)間
4. 函數(shù)缺省參數(shù)值:可選(xxx?: yyy)和默認(rèn)參數(shù)(沒有參數(shù)傳入是,使用默認(rèn)值xxx = yyy)
JavaScript和TypeScript的主要差異
1. JavaScript可以與TypeScript共同使用,TypeScript可以使用編譯器轉(zhuǎn)換成JavaScript
2. TypeScript在擴(kuò)展了JavaScript的類概念及核心語言方面,如TypeScript可以使用類型和接口等概念既描述正在使用的數(shù)據(jù),又能快速檢測錯(cuò)誤
3. TypeScript通過類型注解提供編譯時(shí)的靜態(tài)類型檢查
4. TypeScript引入模塊module的概念,可以把聲明、數(shù)據(jù)、函數(shù)和類封裝在模塊中
5. TypeScript需要被編譯成JavaScript,才能在瀏覽器執(zhí)行
6. TypeScript編譯時(shí)支持有限的函數(shù)重載(overload),js不支持重載
ps:求監(jiān)督,求審查~~
總結(jié)
以上是生活随笔為你收集整理的对比Javascript和TypeScript的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EChart.js 简单入门
- 下一篇: 微信小程序(6)模板详解 templat