首页 > 解决方案 > 为什么泛型的类型变量通常声明为单个字母(例如:)?

问题描述

对于TypeScript 泛型文档和我遇到的大多数类型定义文件中的每个示例,类型变量都被声明为单个字母,通常<T>.

例子:

function identity<T>(arg: T): T {
    return arg;
}

问题:

标签: typescriptgenericstypesstatic-typingtypescript-generics

解决方案


Java docs for Generic Types有一个非常好的段落——它适用于所有支持类型变量的语言:

类型参数命名约定

按照惯例,类型参数名称是单个大写字母。这与您已经知道的变量命名约定形成鲜明对比,并且有充分的理由:没有这种约定,就很难区分类型变量和普通类或接口名称之间的区别。

最常用的类型参数名称是:

……

T - 类型

基本上,您希望能够快速识别某物是类型变量,并且命名类型变量T在某些时候只是成为标准代码约定。

微软关于C++C#的文档也有这个约定。


推荐阅读