ts重点学习76-泛型约束笔记

简介: ts重点学习76-泛型约束笔记
export default {}
// 演示可能会出现的问题
// function getLength<T>(arr: T): T {
//   console.log(arr.length);
//   return arr;
// }
// getLength<string>("孟子义");
// 解决方式
// function getLength<T>(arr: Array<T>): Array<T> {
//   console.log(arr.length);
//   return arr;
// }
// // let res =  getLength([1, 2, 3]);
// // {length: 20}
// let res = getLength("孟子义");
// console.log(res);
// 泛型接口
interface ILength {
  length: number
}
function getLength<T extends ILength>(arr: T): number {
  return arr.length;
}
let res1 = getLength("孟子义");
let res2 = getLength([1, 2, 3, 4]);
let res3 = getLength({length: 20});
console.log("res1: ", res1);
console.log("res2: ", res2);
console.log("res3: ", res3);
相关文章
|
1月前
|
JavaScript 前端开发 编译器
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
81 0
|
1月前
|
JavaScript 编译器
TypeScript中泛型在函数和类中的应用
【4月更文挑战第23天】TypeScript的泛型在函数和类中提供了灵活性,允许处理多种数据类型。了解泛型是掌握TypeScript类型系统的关键。
|
1月前
|
编解码 JavaScript 前端开发
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
87 0
|
10天前
|
JavaScript 编译器
typescript 泛型约束
typescript 泛型约束
|
10天前
|
JavaScript
TypeScript 泛型类型
TypeScript 泛型类型
|
10天前
|
JavaScript Java 编译器
TypeScript 泛型
TypeScript 泛型
|
12天前
|
JavaScript 算法 开发者
16.【TypeScript 教程】TypeScript 泛型(Generic)
16.【TypeScript 教程】TypeScript 泛型(Generic)
17 2
|
1月前
|
JavaScript 安全 前端开发
【TypeScript技术专栏】TypeScript泛型编程技巧
【4月更文挑战第30天】TypeScript的泛型编程允许编写适应多种数据类型的函数和类,提高代码复用性。基本概念包括在声明函数、接口或类时使用类型参数。示例:泛型函数`identity&lt;T&gt;`、泛型接口`GenericIdentityFn&lt;T&gt;`和泛型类`GenericNumber&lt;T&gt;`。技巧包括类型推断、泛型约束和泛型数组。在实际开发中,泛型用于创建通用库、装饰器和中间件,提升代码灵活性和复用性。
|
1月前
|
JavaScript 前端开发
TypeScript极速入门笔记1
TypeScript极速入门笔记1
35 4
|
1月前
|
JavaScript 安全 索引
TypeScript泛型和类型体操
泛型和类型体操(Type Gymnastics)是 TypeScript 中高级类型系统的重要组成部分。它们提供了强大的工具和技巧,用于处理复杂的类型操作和转换。