[英]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.