2025年point和node 区别(point与opinion的区别)

point和node 区别(point与opinion的区别)div id module unit notification container hidden div p 在使用 TypeScript 生成 JavaScript 应用程序学习路径中之前的模块中 你了解了如何将类型批注应用于接口 函数和类以创建强类型化组件 但是 p

大家好,我是讯享网,很高兴认识大家。



 <div id="module-unit-notification-container" hidden=""></div> <p>在使用 TypeScript 生成 JavaScript 应用程序学习路径中之前的模块中,你了解了如何将类型批注应用于接口、函数和类以创建强类型化组件。 但是,如果想要创建可处理多种类型而不只是一种类型的组件,该怎么操作? 可以使用 类型,但这样就失去了 TypeScript 类型检查系统的功能。</p> 

讯享网

泛型是可以在代码库中定义和重复使用的代码模板。 它们提供了一种方法,可用于指示函数、类或接口在调用时要使用的类型。 可以通过将参数传递给函数的方式来理解,不同之处是使用泛型可以指示组件在被调用时应该使用哪种类型。

当代码是满足以下条件的函数或类时,创建泛型函数:

  • 处理各种数据类型。
  • 在多个位置使用该数据类型。

泛型可以:

  • 在处理类型时提供更大的灵活性。
  • 实现代码重用。
  • 减少使用 类型的需要。

为更好地理解使用泛型的理由,可以查看一个示例。

函数生成 类型的项的数组。


讯享网

讯享网

然后,调用 函数并向其传递一个数字数组来声明 变量,并使用一个字符串数组来声明 变量。 但是,由于使用了 类型,因此没有什么可以阻止代码将 推送到 或将 推送到 。

 

如果想要在调用函数时确定数组将包含的值的类型,然后让 TypeScript 对传递给它的值进行类型检查以确保它们属于该类型,该怎么操作? 这时泛型就可以发挥作用了。

此示例使用泛型重写 函数。 现在,它可以接受你在调用函数时指定的任何类型。

讯享网

泛型定义一个或多个“类型变量”来标识要传递给组件的一个或多个类型(用尖括号 () 括起来)。 (你还会看到称为类型参数或泛型参数的类型变量。)在上面的示例中,函数中的类型变量称为 。 是泛型的常用名称,但可以根据需要对其进行命名。

指定类型变量后,可以使用它来代替参数中的类型、返回类型或将其置于函数中要添加类型批注的任何其他位置。

Diagram showing the getArray function with the T type variable following the function name.

类型变量 T 可用于任何需要类型批注的位置。 在 getArray 函数中,它用于指定 items 参数的类型、函数返回类型和返回新的项数组。

若要调用函数并向其传递类型,请将 追加到函数名称。 例如, 指示函数仅接受 值的数组,并返回 值的数组。 因为类型已指定为 ,所以 TypeScript 会预期将 值传递给函数,如果传递的是其他值,则会引发错误。

在此示例中,通过更新 和 的变量声明以调用具有所需类型的函数,TypeScript 可阻止将无效项添加到数组中。

 

泛型组件中并不是只能使用单个类型变量。

例如, 函数接受 和 两个参数,并返回 参数。 可以使用 和 两个泛型为每个参数和返回类型分配不同的类型。 通过调用 函数初始化变量 (将 作为 和 参数的类型)、初始化 (以 作为参数的类型)和初始化 (以 作为参数的类型)。 使用这些变量时,TypeScript 可以对这些值进行类型检查并在发生冲突时返回编译时错误。

讯享网

小讯
上一篇 2025-05-03 22:43
下一篇 2025-05-28 20:14

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/145943.html