首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是"DefinitelyTyped"?

什么是"DefinitelyTyped"?
EN

Stack Overflow用户
提问于 2016-10-07 07:27:18
回答 2查看 10.6K关注 0票数 50

我看到"DefinitelyTyped“是与TypeScript/JavaScript开发相关的东西,但我不能理解它的用法或一些代码样本来理解它。

我看过http://definitelytyped.org/http://bartvds.github.io/projects/dt.html,但无法更好地理解它们。

任何指针,文章,代码样本是非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-07 08:39:17

TypeScript允许您拥有Declaration Files,这些文件是用(例如)纯JavaScript编写的代码的allow you to describe the shape。因此,通过引用这些文件中的一个,您可以确切地告诉TypeScript您正在使用的JavaScript代码或库应该如何被“类型化”。当然,这意味着声明文件需要仔细编写,并与您正在使用的JavaScript库保持同步。

对于许多JavaScript库来说,DefinitelyTyped是最流行的声明文件存储库,其中大多数库都不提供自己的声明文件(因为它们不是用TypeScript开发的,也没有提交使用它)。所以它保存着由社区维护的声明文件。

通过使用DefinitelyTyped及其包含的声明文件,您可以使用大多数流行的JavaScript库,就像它们是TypeScript库一样,因为编译器将进行类型验证(如声明文件所示)。此外,由于DefinitelyTyped如此受欢迎,它将由社区管理以包含有效的声明文件(尽管web开发的速度非常快,但您最终可能会发现一些问题,特别是在晦涩的库中)。

票数 87
EN

Stack Overflow用户

发布于 2018-12-18 01:26:39

上面的描述非常清楚,但是,如果你像我一样,也许下面的代码可以帮助你了解大局。

例如,你的项目中有lodash包,你导入并使用它的一个方法。

代码语言:javascript
复制
import random from 'lodash/random';

const result = random(????);

您可能会停下来,想知道此方法可能需要多少参数?每个参数的数据类型是什么?你必须搜索lodash主页,找到random的应用编程接口文档才能知道如何使用它。在执行了一系列任务之后,您可能最终会提供错误的参数顺序,但在您运行应用程序并得到错误之前,什么都不会显示。

这就是DefinitelyType展示其威力的地方。安装lodash的DefinitelyType后

代码语言:javascript
复制
yarn add @types/lodash

  • 当您开始键入random方法时,工具提示会显示并指导您如何使用参数。当您提供错误的参数数据类型时,为了让您知道并修复它immediately.

,它将显示错误

这有意义吗?如果没有,请不要担心,关掉音乐,听听这个video,我相信你会听懂的。

票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39907142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档