typescript泛型的用途 隨著JavaScript越來越完善,還有必要學習TypeScript嗎?
隨著JavaScript越來越完善,還有必要學習TypeScript嗎?如果你是一個前端開發(fā)人員,學習是必要的。首先,作為一個開發(fā)人員,只要與自己的工作相關,出現(xiàn)任何先進的工具、語言或技術,都應該及時
隨著JavaScript越來越完善,還有必要學習TypeScript嗎?
如果你是一個前端開發(fā)人員,學習是必要的。
首先,作為一個開發(fā)人員,只要與自己的工作相關,出現(xiàn)任何先進的工具、語言或技術,都應該及時關注,并花時間在演示中學習和使用。然后你就會知道為什么會出現(xiàn)新技術,以及需要解決哪些問題。無論它們是否在當前項目中使用,您都應該了解它們。
Typescript(TS)是JavaScript(JS)的超集。它有更多的語法特性。它擁有JS的所有特性。它還可能具有JS不具備或將來將具備的特性。TS與JS完全兼容,兩者可以一起使用。TS最終將被編譯成簡明標準的JS代碼。
1. Type annotation
可以將一個類型聲明為一個變量,編譯成JS時靜態(tài)檢查;編輯器的智能提示,在編寫代碼時,編輯器會直接提示變量、類、方法(參數(shù))、關鍵字等供您選擇,減少編寫錯誤,大大提高開發(fā)效率。
2. 面向對象功能
支持類、接口和模塊。模塊化開發(fā)更容易打包,設計和構建具有復雜業(yè)務的大型系統(tǒng)也更方便。
3. Typescript是開源的,并得到了微軟和谷歌等大公司的支持。它被廣泛使用。Vs代碼是用TS開發(fā)的,流行的框架如angularjs和ionic也使用TS作為開發(fā)語言。在未來,更多的項目將使用它。
在未來,web應用程序將變得越來越復雜。讓我們學習
項目類型怎么填寫?
如果您是前端項目,一般來說,前端項目編寫類型聲明文件包含以下內(nèi)容:編輯器自動完成,通過類型聲明,編輯器在編寫代碼時可以提供友好的代碼提示和自動完成靜態(tài)檢查,并使用typescript提供的TSC編譯ts或JS文件來實現(xiàn)靜態(tài)類型檢查,當您使用vscode編輯器時,也會實時進行檢查。如果有錯誤,我們可以立即得到反饋。類型是文檔。定義類型時,它相當于編寫文檔。通過將鼠標放在方法或參數(shù)上,可以了解具體的需求。一些NPM包有自己的類型定義。一些NPM包有自己的類型聲明包.json當導入這些模塊時,TSC可以自動識別它們,vscode也可以自動提示語法NPM包沒有隨附。但是,definitelytyped提供的一些NPM包沒有類型聲明,但是definitelytyped項目為這個NPM包提供了類型聲明。你可以npminstall@類型/*安裝相應的類型聲明。NPM包不附帶Nitelytyped也不提供這種情況,這種情況在少數(shù)包或公司和團隊中的包中很常見。此時,我們需要自己添加它們。我們可以創(chuàng)建一個新的類型目錄,然后將此目錄配置為tsconfig.json文件在中的typeroots選項中,typescript將自動識別此目錄中的所有文件。例如,我們希望向包foo Declare添加一個類型,以創(chuàng)建一個新的文件foo。在types目錄中。這可能是因為當這兩個函數(shù)被編譯成JavaScript時,它們的簽名是完全相同的。因為JavaScript沒有類型,所以會創(chuàng)建兩個參數(shù)數(shù)目相同的函數(shù)。因此,typescript限制了我們創(chuàng)建這樣一個函數(shù)的能力。
Typescript支持基于參數(shù)數(shù)量的重載,但如果我們將其與OO進行比較,則要遵循的步驟略有不同。
我們應該只創(chuàng)建一個函數(shù)和一些聲明,這樣typescript就不會編譯錯誤。當這個代碼被編譯成JavaScript時,只會看到特定的函數(shù)。因為JavaScript函數(shù)可以通過傳遞多個參數(shù)來調用,所以它可以工作。