這篇文章將為大家詳細(xì)講解有關(guān)javascript和typescript有什么差異,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司長(zhǎng)期為超過(guò)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西華企業(yè)提供專業(yè)的成都網(wǎng)站制作、做網(wǎng)站,西華網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
javascript和typescript有哪些區(qū)別?
javascript和typescript的區(qū)別一:概念對(duì)比
JavaScript 是一種輕量級(jí)的解釋性腳本語(yǔ)言,無(wú)需編譯,可嵌入到 HTML 頁(yè)面中,在瀏覽器端執(zhí)行,能夠?qū)崿F(xiàn)瀏覽器端豐富的交互功能,為用戶帶來(lái)流暢多樣的用戶體驗(yàn)。
TypeScript代碼保存在ts文件中,ts文件經(jīng)過(guò)編譯之后會(huì)生成一個(gè)js文件,任何有效的JavaScript代碼都可以直接作為T(mén)ypeScript代碼編譯,只不過(guò)編譯過(guò)后的代碼與原JavaScript代碼相同,TypeScript代碼編譯后則會(huì)轉(zhuǎn)換為對(duì)應(yīng)的JavaScript代碼。
javascript和typescript的區(qū)別二:內(nèi)容對(duì)比
1、TypeScript 引入了 JavaScript 中沒(méi)有的“類(lèi)”概念。
雖然ES6已經(jīng)支持類(lèi),但是TypeScript與ES6的類(lèi)還是不完全一樣的,ts代碼可以通過(guò)類(lèi)型注解聲明變量的類(lèi)型。
2、TypeScript 中的數(shù)據(jù)要求帶有明確的類(lèi)型,JavaScript不要求。
3、TypeScript 通過(guò)類(lèi)型注解提供編譯時(shí)的靜態(tài)類(lèi)型檢查。
let str: string;//ts代碼 let str;//編譯生成的js代碼
通過(guò)對(duì)比可以清晰的看到,在ts代碼中可以在聲明變量的時(shí)候加上": 類(lèi)型"來(lái)描述變量的類(lèi)型,即類(lèi)型注解。
4、TypeScript 從核心語(yǔ)言方面和類(lèi)概念的模塑方面對(duì) JavaScript 對(duì)象模型進(jìn)行擴(kuò)展。
5、JavaScript 代碼可以在無(wú)需任何修改的情況下與 TypeScript 一同工作,同時(shí)可以使用編譯器將 TypeScript 代碼轉(zhuǎn)換為 JavaScript。
6、TypeScript 為函數(shù)提供了缺省參數(shù)值。
在TypeScript的函數(shù)中我們可以給每個(gè)參數(shù)提供類(lèi)型注解,還能為函數(shù)提供返回類(lèi)型注解(在參數(shù)列表后的":類(lèi)型"),同時(shí)TypeScript可以在參數(shù)名右邊加上一個(gè)?表示可選參數(shù)。
7、TypeScript 中引入了模塊的概念,可以把聲明、數(shù)據(jù)、函數(shù)和類(lèi)封裝在模塊中。
javascript和typescript的區(qū)別三:優(yōu)點(diǎn)對(duì)比
javascript優(yōu)點(diǎn):
1、人氣:JavaScript 的開(kāi)發(fā)者社區(qū)仍然是巨大而活躍的,在社區(qū)中可以很方便地找到大量成熟的開(kāi)發(fā)項(xiàng)目和可用資源。
2、學(xué)習(xí)曲線:由于 JavaScript 語(yǔ)言發(fā)展的較早,也較為成熟,所以仍有一大批開(kāi)發(fā)人員堅(jiān)持使用他們熟悉的腳本語(yǔ)言 JavaScript,而不是學(xué)習(xí) TypeScript。
3、本地瀏覽器支持:TypeScript 代碼需要被編譯(輸出 JavaScript 代碼),這是 TypeScript 代碼執(zhí)行時(shí)的一個(gè)額外的步驟。
4、不需要注釋:為了充分利用 TypeScript 特性,開(kāi)發(fā)人員需要不斷注釋他們的代碼,這可能會(huì)使項(xiàng)目效率降低。
5、靈活性:有些開(kāi)發(fā)人員更喜歡 JavaScript 的靈活性。
typescript優(yōu)點(diǎn):
1、便于開(kāi)發(fā)人員做注釋。
2、能幫助開(kāi)發(fā)人員檢測(cè)出錯(cuò)誤并修改。
3、TypeScript工具使重構(gòu)更變的容易、快捷。
4、TypeScript 引入了 JavaScript 中沒(méi)有的“類(lèi)”概念。
5、TypeScript 中引入了模塊的概念,可以把聲明、數(shù)據(jù)、函數(shù)和類(lèi)封裝在模塊中。
6、類(lèi)型安全功能能在編碼期間檢測(cè)錯(cuò)誤,這為開(kāi)發(fā)人員創(chuàng)建了一個(gè)更高效的編碼和調(diào)試過(guò)程。
關(guān)于javascript和typescript有什么差異就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。