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