Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 7|回復: 0
打印 上一主題 下一主題

TypeScript 到底是什麼

[複製鏈接]

1

主題

1

帖子

0

積分

1级

Rank: 1

積分
0
跳轉到指定樓層
樓主
發表於 2024-4-15 16:33:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
讓我們傳回已定義欄位的清單。然後,我們在循環中迭代這些字段,並將名稱和關聯類型寫入控制台。因此我們在程式運行時存取程式碼並用它來控制行為。現在令人興奮的問題當然是:這為我們帶來了什麼? 為什麼需要內省? 在日常生活中,內省帶給我們的附加價值很少能立即顯現出來。我們可以直接呼叫函數,而不是以程式設計方式從程式中尋找函數名稱然後呼叫它。當我們的程式碼需要使用我們還不知道的類別或模組時,整個事情就會變得有用。因此,在框架和庫中有許多用例,內省使我們能夠創建乾淨、簡單的 API。 讓我們來看另一個例子 - 這次是帶有假想的 Web 框架的 TypeScript 程式碼解的方法。顯然,當 HTTP POST 請求到達「/user」路由時,應該呼叫此方法。


因此,在我們想像的框架中,現在必須有一個函數接受請求,然後建立正確控制器的實例。 此處理程 沙烏地阿拉伯 電話號碼 序必須搜尋帶有註解的所有類別定義,並找到可以處理「/user」上的 POST 請求的類別定義。一旦找到正確的類別定義,就需要對其進行實例化。但為此我們需要建構函數參數!因此,處理程序必須解析我們的程式碼並從建構函數參數中讀取類型,以便建立並提供所需的 UserRepository。 接下來,應該處理該請求。我們在類型層級指定請求正文應與「User」類型相符。因此框架必須再次讀取類型以驗證收到的請求正文。一方面,我們有用戶類別的類型資訊(「name」必須始終是字串),另一方面,還有進一步限制驗證的註解。 對於所有這些步驟,我們的框架需要能夠讀取和處理應用程式程式碼中的類型。



簡短的問題 - 簡短的回答:一點也不。感謝您的閱讀,下次再見。 答案稍長:TypeScript 的設計初衷是讓我們更輕鬆地開發更大、更複雜的應用程式。我們程式碼的運行環境是瀏覽器。這意味著用戶下載我們的程式碼以在設備上運行它。 像 TypeScript 這樣的新工具不允許透過提供類型資訊等方式增加我們專案的套件大小。因此,TypeScript 團隊決定由編譯器完全刪除型別註解。欄位定義使用現代類別語法保留,但沒有有關特定資料類型的信息。經典的內省,即我們的運行時代碼分析其他代碼並使用類型信息,在 TypeScript 中無法直接實現。當然,諸如驗證或模式定義之類的用例仍然存在於 TypeScript 世界中,因此必須以某種方式以不同的方式解決這些問題。 我們想要透過反思解決的真正目標是我們不想重複自己。

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|sk秀庄  

GMT+8, 2026-5-11 18:19 , Processed in 0.036834 second(s), 21 queries .

抗攻擊 by GameHost X3.1

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |