typescript 什么是“DefinitelyTyped”?

biswetbf  于 2023-08-07  发布在  TypeScript
关注(0)|答案(2)|浏览(112)

我看到“DefinitelyTyped”是与TypeScript/JavaScript开发相关的东西,但我无法理解它的使用或一些代码示例来理解它。
我看了http://definitelytyped.org/http://bartvds.github.io/projects/dt.html,但不能更好地理解它。
任何指针,文章,代码示例是非常感谢。

gmxoilav

gmxoilav1#

TypeScript允许你拥有Declaration Files,这是一个allow you to describe the shape的文件,它包含了用(例如)普通JavaScript编写的代码。因此,通过引用这些文件中的一个,您可以确切地告诉TypeScript您正在使用的JavaScript代码或库应该如何被假定为“类型化”。当然,这意味着需要仔细编写声明文件,并与您正在使用的JavaScript库同步。
DefinitelyTyped是许多JavaScript库中最受欢迎的声明文件存储库,其中大多数库都不提供自己的声明文件(因为它们不是用TypeScript开发的,也不致力于使用它)。因此它保存由社区维护的声明文件。
通过使用DefinitelyTyped及其包含的声明文件,您可以使用大多数流行的JavaScript库,就好像它们是TypeScript库一样,因为您将通过编译器进行类型验证(如声明文件所示)。此外,由于如此受欢迎,DefinitelyTyped将由社区策划,以包含有效的声明文件(尽管Web开发发展非常快,您最终可能会在晦涩的库中发现一些问题)。

1l5u6lss

1l5u6lss2#

上面的描述很清楚,但是,如果你像我一样,也许下面的代码可以帮助你了解大局。
例如,你的项目中有lodash包,你导入并使用它的一个方法。

import random from 'lodash/random';

const result = random(????);

字符串
您可能会停下来想知道这个方法可能需要多少参数?以及每个参数的数据类型?你必须搜索lodash主页,找到random的API文档才能知道如何使用它。在执行了一系列任务之后,您可能最终会提供错误的参数顺序,但在您运行应用程序并获得错误之前,不会显示任何内容。
这就是DefinitelyType显示其威力的地方。安装lodash的DefinitelyType后

yarn add @types/lodash

  • 当你开始输入random方法时,一个工具提示将显示并指导你如何使用参数。
  • 当您提供错误的参数数据类型时,它将显示错误,以便让您知道并立即修复它。

有道理吗?如果没有,别担心,关掉音乐,听听这个video,我相信你会明白的。

相关问题