typescript - 为什么泛型的类型变量通常声明为单个字母(例如:)?
问题描述
对于TypeScript 泛型文档和我遇到的大多数类型定义文件中的每个示例,类型变量都被声明为单个字母,通常<T>
.
例子:
function identity<T>(arg: T): T {
return arg;
}
问题:
- 为什么泛型的类型变量通常声明为单个字母?
- 这样做的原因是什么?
- 除了约定俗成和简洁之外,它还有其他目的吗?
- 使用更具描述性的名称有什么优点和缺点?
解决方案
Java docs for Generic Types有一个非常好的段落——它适用于所有支持类型变量的语言:
类型参数命名约定
按照惯例,类型参数名称是单个大写字母。这与您已经知道的变量命名约定形成鲜明对比,并且有充分的理由:没有这种约定,就很难区分类型变量和普通类或接口名称之间的区别。
最常用的类型参数名称是:
……
T - 类型
基本上,您希望能够快速识别某物是类型变量,并且命名类型变量T
在某些时候只是成为标准代码约定。
推荐阅读
- android - 如何使用android存储访问框架附加到文件?
- javascript - 如何检测未定义的导入(使用 javascript es6 import 语句时)
- python-3.x - Django 通道 Websocket 断开连接
- javascript - 仅当另一部史诗完成时如何发出史诗?
- r - 通过不同的总和组合和键列合并两个数据框
- javascript - 向全日历中的每个单元格添加一个按钮,以允许用户使用 jQuery 添加事件
- mysql - mysql - 我们在 MySQL 导航器中哪里可以找到临时表?
- c# - 即使 Stretch 属性设置为 Uniform,WPF 图像也会被裁剪(右侧)
- azure - 为什么我的 JWT 令牌范围中缺少 Azure 权限?
- javascript - 如何在多个 HighStocks 图表之间连接/同步 xAxis 十字准线