guqzhou guqzhou
首页
快捷导航
  • Html 篇
  • Javascript 基础篇
  • 框架

    • Vue2
  • 前端文章

    • Css 篇
    • 微信开发
    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
    • JavaScript 基础
  • nginx
  • CSS
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 面试题库

    • HTML
    • CSS
    • jQuery
    • Vue
    • 零碎
  • 面试心得

    • 杂言碎语
  • 摘抄收录

    • ☆ 励志鸡汤
    • ❀ 人间烟火
    • ☣ 万物沦丧
    • ✌ 关掉烦恼
    • ✲ 小酒馆
  • 读书笔记

    • 《小狗钱钱》
    • 《穷爸爸富爸爸》
    • 《聪明人使用方格笔记本》
关于
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue资源
  • 主站CDN (opens new window)
  • Vercel (opens new window)
  • Netlify (opens new window)
  • Github (opens new window)
GitHub (opens new window)

guqzhou

喜欢所以去追求!
首页
快捷导航
  • Html 篇
  • Javascript 基础篇
  • 框架

    • Vue2
  • 前端文章

    • Css 篇
    • 微信开发
    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
    • JavaScript 基础
  • nginx
  • CSS
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 面试题库

    • HTML
    • CSS
    • jQuery
    • Vue
    • 零碎
  • 面试心得

    • 杂言碎语
  • 摘抄收录

    • ☆ 励志鸡汤
    • ❀ 人间烟火
    • ☣ 万物沦丧
    • ✌ 关掉烦恼
    • ✲ 小酒馆
  • 读书笔记

    • 《小狗钱钱》
    • 《穷爸爸富爸爸》
    • 《聪明人使用方格笔记本》
关于
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue资源
  • 主站CDN (opens new window)
  • Vercel (opens new window)
  • Netlify (opens new window)
  • Github (opens new window)
GitHub (opens new window)
  • vue2
  • CSS

  • Javascript基础

  • javascript进阶

  • typeScipt

    • ts入门
    • ts接口和对象类型
    • 泛型
    • 枚举
    • 类型推论、类型别名
    • 映射类型
    • never
    • typeScipt教程文档
    • 联合类型、交叉类型
    • class类
    • 泛型高级用法
        • 泛型
        • 泛型约束
    • 面向对象
    • typescript用localStorage封装过期时间
    • 泛型工具
    • 类型声明文件
  • vue2

  • vue3

  • react

  • vite介绍

  • vue实战

  • pinia的使用

  • gis

  • 前端文章

  • JavaScript文章

  • Vue文章

  • 小程序开发文章

  • uni-app

  • 学习笔记

  • TaroUI的使用

  • 工具使用

  • 前端
  • typeScipt
guqzhou
2023-10-27
0

泛型高级用法

#

# 泛型

  1. 在函数名后面添加<>,<>中添加类型变量,比如Type
  2. 类型变量Type,是一种特殊类型变量,它处理类型而不是值
  3. 该类型变量相当于是一个容器,能够捕获用户提供的类型
  4. 因为Type是类型,因此可以将其作为函数参数或者返回值类型,表示参数和返回值有相同类型
  5. 类型变量type,可以任意合法变量名称

# 泛型约束

在类型后面跟一extends再跟一个约束的类型

function add<T extends number>(a:T, b:T) {
    return a + b
}

interface Len {
    length: number
}
function add<T extends Len>(a: T) {
    return a.length
}
add('abckui')

let obj = {
    name: '小满',
    sex: '女'
}

function ob<T extends object,K extends keyof T>(obj:T, key: K) {
    return obj[key]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

#

上次更新: 2024/04/26, 0:04:00
class类
面向对象

← class类 面向对象 →

最近更新
01
常用IP工具
02-05
02
GitHub 自动化部署
02-04
03
vue3-3新特性
02-04
更多文章>
Theme by Vdoing | Copyright © 2021-2026 guqzhou | 萌ICP备20238188号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式