日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何利用TypeScript提升JavaScript編程效果

TypeScript能夠幫助大家編寫(xiě)出更出色的JavaScript代碼、搞定規(guī)??捎^的JavaScript項(xiàng)目并為ECMAScript 6的來(lái)臨做好準(zhǔn)備——更重要的是,上手TypeScript幾乎沒(méi)有任何難度可言。

如果非要從現(xiàn)代開(kāi)發(fā)領(lǐng)域找出一種通用語(yǔ)言的話(huà),那么大多數(shù)人可能會(huì)把支持票投給JavaScript。網(wǎng)景公司打造的這款瀏覽器腳本語(yǔ)言在其近二十年的發(fā)展歷程當(dāng)中一直在不斷成長(zhǎng),而且如今幾乎滲透到了我們生活的方方面面。它不僅植根于開(kāi)發(fā)工具的核心深處,同時(shí)也在Node.js等服務(wù)器端實(shí)現(xiàn)方案中有所體現(xiàn),甚至已經(jīng)作好了進(jìn)軍微服務(wù)架構(gòu)的戰(zhàn)斗準(zhǔn)備。JavaScript同時(shí)也是相當(dāng)一部分微軟開(kāi)發(fā)技術(shù)方案的關(guān)鍵性組成部分。打算對(duì)微軟Office進(jìn)行擴(kuò)展?我們必須得使用JavaScript。想為Windows 10編寫(xiě)一套用戶(hù)界面?JavaScript仍然是最好的選擇。

不過(guò)JavaScript本身還遠(yuǎn)遠(yuǎn)稱(chēng)不上完美,特別是在大家希望構(gòu)建一款包含有大量客戶(hù)端代碼的大型Web應(yīng)用程序時(shí)。在這種情況下,TypeScript現(xiàn)身救駕了。TypeScript屬于JavaScript的一套超集,其中不僅加入了大量用于即將面世的ECMAScript 6的功能特性,同時(shí)也可以通過(guò)編譯將開(kāi)發(fā)成果轉(zhuǎn)換為JavaScript代碼以供現(xiàn)代瀏覽器接納——當(dāng)然也包括Node.js。

TypeScript是由微軟公司下轄的技術(shù)團(tuán)隊(duì)負(fù)責(zé)設(shè)計(jì),負(fù)責(zé)人為Anders Hjelsberg(他最廣為人知的成果應(yīng)該是Turbo Pascal、Delphi以及C#)。微軟的這個(gè)專(zhuān)項(xiàng)團(tuán)隊(duì)在設(shè)計(jì)過(guò)程中,將TypeScript打造成了一款能夠利用編譯器將所開(kāi)發(fā)代碼轉(zhuǎn)換為JavaScript形式的方案。大家只需在TypeScript當(dāng)中編寫(xiě)代碼,而后將其交付至編譯器即可。由此生成的JavaScript轉(zhuǎn)換結(jié)果既能夠運(yùn)行在服務(wù)器端,又可以由客戶(hù)端中的HTML進(jìn)行調(diào)用。

TypeScript還將大量ECMAScript 6功能加入到了JavaScript當(dāng)中,具體包括類(lèi)與模塊。此外,該團(tuán)隊(duì)還嘗試將這兩種本是同根生的語(yǔ)言加以進(jìn)一步融合,從而滿(mǎn)足ECMAScript 6的標(biāo)準(zhǔn)化方法要求。這絕對(duì)是個(gè)明智的決定。通過(guò)這種方式,大家可以利用TypeScript開(kāi)發(fā)出能夠?yàn)镋CMAScript 6所接納的代碼,同時(shí)充分發(fā)揮TypeScript的靜態(tài)類(lèi)型優(yōu)勢(shì)以提升代碼安全性水平。

如果大家此前曾經(jīng)使用過(guò)C或者Fortran等語(yǔ)言,那么一定不會(huì)對(duì)靜態(tài)類(lèi)型感到陌生——它允許我們面向變量進(jìn)行類(lèi)型聲明,從而確保A始終屬于整數(shù)而C始終屬于字符串。雖然TyperScript的類(lèi)型安全性并不像Fortran那么全面,但其仍然能夠定義數(shù)字與字符串,并利用Boolean類(lèi)型顯著改善代碼調(diào)試機(jī)制。除此之外,TyperScript還提供選項(xiàng)以實(shí)現(xiàn)類(lèi)型推斷,從而降低發(fā)生錯(cuò)誤的可能性——例如我們可能會(huì)把某個(gè)對(duì)象分配給未經(jīng)過(guò)適當(dāng)轉(zhuǎn)換的字符串。如果大家的代碼為兩個(gè)數(shù)字相加,那么TyperScript會(huì)認(rèn)定其結(jié)果始終為數(shù)字。

大家也可以利用TypeScript將類(lèi)型應(yīng)用至數(shù)組當(dāng)中,或者利用enums為特定變量名稱(chēng)設(shè)置值。作為一款極具實(shí)用性的工具,enums具備雙向?qū)傩?,因此大家可以利用它通過(guò)數(shù)字來(lái)查找某條變量名稱(chēng)——這就使得大家可以在代碼當(dāng)中更輕松地建立鍵/值記錄。如果大家不確定自己可能使用哪種類(lèi)型,則可以將變量設(shè)定為any,在這種情況下TypeScript不會(huì)推斷其具體類(lèi)型、大家也不會(huì)因此遇到錯(cuò)誤或者警告。TypeScript類(lèi)型可以自行選擇,因此我們用不著在編譯或者運(yùn)行之前、首先向現(xiàn)有代碼添加各種類(lèi)型,而這將有效簡(jiǎn)化現(xiàn)有代碼的相關(guān)遷移工作。再有,我們可以從純JavaScript代碼入手,而后隨著其它TypeScript功能的加入而同時(shí)添加相關(guān)類(lèi)型。

需要注意的是,大家的現(xiàn)有JavaScript代碼將成為T(mén)ypeScript應(yīng)用程序的一部分加以運(yùn)行。而如果將代碼遷移到ECMAScript 6或者TypeScript語(yǔ)法形式下,大家即可享受到TypeScript的各種功能優(yōu)勢(shì)。而如果我們使用具備TypeScript識(shí)別能力的工具,則可以擁有面向Visual Studio IntelliSense的支持能力——其能夠幫助我們對(duì)函數(shù)調(diào)用中的類(lèi)型進(jìn)行管理。除此之外,大家也能夠利用TypeScript聲明文件向各類(lèi)常用庫(kù)及服務(wù)中快速添加類(lèi)型支持,例如人氣極高的jQuery庫(kù)。

擁有這樣一款類(lèi)型化且近似于JavaScript的語(yǔ)言能夠給類(lèi)使用與模塊構(gòu)建帶來(lái)顯著簡(jiǎn)化(與AngularJS當(dāng)中的處理方式非常相近)。類(lèi)型的存在能夠確保某個(gè)警告類(lèi)中的所有實(shí)例都通過(guò)字符串進(jìn)行調(diào)用,這將幫助我們輕松構(gòu)建起更理想的構(gòu)造函數(shù)。大家可以將這種類(lèi)型化構(gòu)造函數(shù)調(diào)用視為一種契約,負(fù)責(zé)定義兩段代碼之間的相互作用——并幫助我們更輕松地在不同應(yīng)用程序之間重復(fù)使用同一函數(shù)。

在函數(shù)調(diào)用當(dāng)中定義類(lèi)型正是創(chuàng)建接口結(jié)構(gòu)的關(guān)鍵所在,能夠使我們的代碼更具面向?qū)ο筇匦?。大家可以將函?shù)元素明確定義為接口,并選擇在函數(shù)當(dāng)中使用更具描述性的名稱(chēng),同時(shí)又不會(huì)影響到進(jìn)行調(diào)用檢查時(shí)向IntelliSense等函數(shù)所必需的工具發(fā)出通知。

以這種方式定義類(lèi)型與接口,能夠讓多位開(kāi)發(fā)人員輕松對(duì)大型JavaScript項(xiàng)目加以管理。而在函數(shù)與類(lèi)設(shè)計(jì)中秉持“接口至上”的契約化方法,則能夠幫助大家在對(duì)應(yīng)用程序中特定部分進(jìn)行優(yōu)化時(shí)不至于影響到其余部分,或者從其他開(kāi)發(fā)者手中借用某種接口定義并直接運(yùn)用到其它實(shí)現(xiàn)方案當(dāng)中。這種方式允許我們以更為高效的方式使用諸如Git以及GitHub等工具,從而在一套持續(xù)開(kāi)發(fā)模型當(dāng)中輕松管理多個(gè)代碼分支。

如果大家使用的是Java或者C#語(yǔ)言,那么對(duì)TypeScript(以及ECMAScript 6)的類(lèi)實(shí)現(xiàn)機(jī)制一定不會(huì)感到陌生。大家可以在構(gòu)造函數(shù)之內(nèi)創(chuàng)建類(lèi),從而對(duì)方法中所使用的類(lèi)型進(jìn)行定義,最終利用類(lèi)似的來(lái)處理各種內(nèi)部對(duì)象。大家也可以利用繼承、添加功能與重寫(xiě)方法等方式對(duì)類(lèi)進(jìn)行擴(kuò)展。而更值得注意的是,TypeScript還支持常見(jiàn)于函數(shù)與接口當(dāng)中的泛型——其能夠幫助大家交付可重復(fù)使用的函數(shù)。

一旦掌握了TypeScript處理類(lèi)與函數(shù)的方式,大家就可以著手將其組織在模塊當(dāng)中,在這里類(lèi)與函數(shù)能夠被拆分至多個(gè)文件當(dāng)中。這顯然是一種非常便捷的代碼組織方案——舉例來(lái)說(shuō),我們可以利用幾個(gè)文件來(lái)處理購(gòu)物車(chē)當(dāng)中的不同函數(shù)。在此之后,大家可以對(duì)各個(gè)子模塊進(jìn)行分別更新,從而在特定函數(shù)中利用調(diào)整歸零機(jī)制改善其性能水平,同時(shí)又不至于對(duì)其它函數(shù)造成影響。具備聲明文件的JavaScript庫(kù)也可以作為模塊使用,因此大家能夠在TypeScript應(yīng)用程序當(dāng)中充分發(fā)揮由此帶來(lái)的諸多優(yōu)勢(shì)。

如果大家希望利用TypeScript處理日常開(kāi)發(fā)工作,那么當(dāng)前版本的Visual Studio以及新的Visual Studio Code跨平臺(tái)編輯工具都提供相關(guān)支持能力。除此之外,TypeScript網(wǎng)站上還擁有一套在線(xiàn)編碼環(huán)境,大家可以點(diǎn)擊此處訪問(wèn)并在這里體驗(yàn)自己的編碼思路或者查看在線(xiàn)教程。

在將JavaScript引入大型乃至超大型項(xiàng)目當(dāng)中時(shí),以TypeScript作為切入點(diǎn)能夠帶來(lái)極為可觀的現(xiàn)實(shí)意義。TypeScript不僅能夠幫助大家在具備充分掌控能力且遵循可重復(fù)使用方針的前提下完成編碼工作,同時(shí)也能夠擁有一條通往ECMAScript 6的理想路徑。


標(biāo)題名稱(chēng):如何利用TypeScript提升JavaScript編程效果
分享網(wǎng)址:http://www.5511xx.com/article/cdejgpj.html