为什么用Typescript – Angular2键入定义(.d.ts)?

前端之家收集整理的这篇文章主要介绍了为什么用Typescript – Angular2键入定义(.d.ts)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看过其他SO问题.但仍然困惑于我的问题.
我见过许多例子,它们直接在angular2 app中使用 Jquery(js),Toastr(js) toastr without typings和其他JS库而不使用它们的类型定义
(.d.ts)文件,它们工作得很好.
所以,
1)基本上什么是获利或失败,去和不去用类型定义文件

2)Angular2文件也是javascript文件.那么他们的类型定义文件怎么样呢

注意:我没有尝试使用NPM,因此我不知道当您实际安装Angualr2软件包时,它会在typings文件夹中添加所有相关的t.ds文件.

解决方法

Typescript Definition文件包含用Javascript编写的代码的类型信息.

Javascript本身不包含类型信息,因此Typescript无法神奇地检索该信息.为了解决这个问题,创建了定义文件,告诉Typescript在哪里使用哪些类型.

因此,您可以使用没有定义文件的第三方库,但是您将失去Typescript提供的类型安全性.

例如,如果包含jQuery定义文件,那么IDE现在可以为jQuery API提供intellisense / auto-advice.当您尝试将布尔值传递给需要字符串的函数时,Typescript编译器也会发出警告.

因此,Typescript不需要定义文件,但没有它们会失去Typescript提供的许多好处.

猜你在找的Angularjs相关文章