簡體   English   中英

為什么用Typescript - Angular2鍵入定義(.d.ts)?

[英]Why type definition (.d.ts) with Typescript - Angular2?

我已經看過其他SO問題。 但仍然困惑於我的問題。

我見過許多使用Jquery(js)Toastr(js) toastr沒有打字的例子和其他JS庫直接在angular2 app而不使用它們的類型定義(.d.ts)文件,它們工作得很好。

所以,

1) 基本上什么是獲利或失敗,去和不去用類型定義文件?

2) Angular2文件也是javascript文件。 那么他們的類型定義文件怎么樣?

注: 我沒有嘗試過與NPM ,所以我不知道,當你實際安裝Angualr2 package ,它增加了所有相關t.ds在文件typings的文件夾。

Typescript Definition文件包含用Javascript編寫的代碼的類型信息。

Javascript本身不包含類型信息,因此Typescript無法神奇地檢索該信息。 為了解決這個問題,創建了定義文件,告訴Typescript在哪里使用哪些類型。

因此,您可以使用沒有定義文件的第三方庫,但是您將失去Typescript提供的類型安全性。

例如,如果包含jQuery定義文件,那么IDE現在可以為jQuery API提供intellisense / auto-advice。 當您嘗試將布爾值傳遞給需要字符串的函數時,Typescript編譯器也會發出警告。

因此,Typescript不需要定義文件,但沒有它們會失去Typescript提供的許多好處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM