前端 TS 快速入门之五:泛型 T

简介: 前端 TS 快速入门之五:泛型 T

前言: 泛型就是使用一个类型变量来表示一种类型,类型值通常是在使用的时候才会设置。泛型的使用场景很多,可以在函数、类、interface 接口中使用

1. 函数泛型

// 单个泛型
function demo<T>(a: T): T {
  return a;
}
demo(10); // 10
demo<number>(10); //10
 
// 多个泛型
function _demo<T, K>(a: T, b: K): T {
  return a;
}
_demo(1, "2"); // 1
_demo<number, string>(1, "2"); // 1

2. 类泛型

class Demo<T> {
  name: T;
  constructor(name: T) {
    this.name = name;
  }
  say(arg: T): void {
    console.log(`${this.name}, ${arg}`);
  }
}
const yq = new Demo<string>("yqcoder"); // Demo { name: 'yqcoder' }
yq.say("你好"); // yqcoder, 你好

3. 接口泛型

interface IDemo<T, K> {
  name: T;
  age: K;
  say(str: T): void;
}
const yq: IDemo<string, number> = {
  name: "yqcoder",
  age: 18,
  say(str) {
    console.log(`${this.name}, ${str}`);
  },
}; // { name: 'yqcoder', age: 18, say: [Function: say] }
yq.say("你好"); // yqcoder, 你好

4. 泛型约束

泛型可以通过 extends 一个接口来实现泛型约束,写法如:<泛型变量 extends 接口>

interface IDemo {
  length: number;
}
function demo<T extends IDemo>(arg: T): void {
  console.log(arg.length);
}
demo([1, 2, 3]); // 3
demo<number[]>([1,2,3]) // 3

上一章:前端 TS 快速入门之四:函数

下一章:前端 TS 快速入门之六:枚举 enum


目录
相关文章
|
28天前
|
前端开发
前端 TS 快速入门之六:枚举 enum
前端 TS 快速入门之六:枚举 enum
18 0
|
28天前
|
前端开发 JavaScript
前端 TS 快速入门之四:函数
前端 TS 快速入门之四:函数
6 0
|
28天前
|
前端开发 JavaScript
前端 TS 快速入门之三:class 类
前端 TS 快速入门之三:class 类
34 1
|
28天前
|
前端开发
前端 TS 快速入门之二:接口
前端 TS 快速入门之二:接口
25 0
|
30天前
|
Web App开发 缓存 前端开发
前端性能优化的整理笔记(一)
前端性能优化的整理笔记(一)
111 0
|
11天前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
18 2
|
28天前
|
移动开发 前端开发 JavaScript
10款精美的web前端源码的特效,2024年最新面试题+笔记+项目实战
10款精美的web前端源码的特效,2024年最新面试题+笔记+项目实战
|
30天前
|
存储 前端开发 JavaScript
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
47 1
|
30天前
|
XML 编解码 前端开发
css设计文本样式 前端开发入门笔记(十二)
css设计文本样式 前端开发入门笔记(十二)
12 0
|
30天前
|
Web App开发 XML 前端开发
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
42 0